面试系列——虚拟偶像VR SDK开发和优化总结
Posted BridgeGeorge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试系列——虚拟偶像VR SDK开发和优化总结相关的知识,希望对你有一定的参考价值。
项目背景
- 利用摄像头捕捉 人脸动作 驱动本地模型展示二次元偶像形象;
- 利用模型资源文件渲染 用户可以自定义用于展示个人形象;
利用 U3D 游戏技术,与引擎团队 深度配合,共建客户端虚拟偶像功能;
架构设计
资源管理
根据用户配置 模型 json 下载,按需下载,根据用户开关 决定 是否全量下载;
制作编辑页面 模型文件按照用户需求 点击 时下载;
渲染模块
- 虚拟偶像 渲染层TextureView View 层 自动侦听 依附的Activity 生命周期 ;
避免业务方主动去调用在某些场景下忘记调用释放方法从而造成资源浪费;
TextureView vs SurfaceView 优势。 - 免初始化实现,支持无侵入性接入SDK ContentProvider 通过 $applicationId 来动态指定ContentProvider 的authority. 避免 多个app引入 相同的SDK 无法安装。
- 外观模式 对外部保留统一服务类,避免直接访问子模块,简化外部调用。
- 内部采用桥接模式 ,避免内部实现层 接口过度耦合引擎SDK暴露的方法 使得上层抽象服务方法 和 具体的SDK 实现方法解耦 ,便于独立升级 和后期维护。
- 回调接口设计 暴露出简化接口SimpleListener ,避免业务方 去实现非必要方法 简化使用。
性能优化
内存优化:
- SDK 监听onTrimMemory 释放缓存
- 推动引擎SDK 组 优化模型材质 根据机型动态加载不同材质 高中低材质
- 优化数据结构 去掉大量枚举 以常亮定义
CPU优化:
- 动态决策渲染帧率
根据场景,根据业务特性 决策渲染帧率,静态动作场景降低帧率,动态动作酌情 升高帧率; - 根据机型做效果分级
高性能模式 中端模式 低端模式 各机型 场景动画不打开或者 降低动态效果 ;
以上是关于面试系列——虚拟偶像VR SDK开发和优化总结的主要内容,如果未能解决你的问题,请参考以下文章