应用性能提升
良好的性能是保证用户拥有自然舒适的VR体验的关键因素。我们提供了一些可以优化奇遇VR应用的方法,供开发者参考。
首先,使用Unity Profile (opens new window) / 奇遇性能工具来获取CPU/GPU性能指标,确定应用运行效率是受限于CPU计算还是受限于GPU渲染。然后就可以有针对性的进行优化。
提示:Unity Profile可以直接显示CPU时间。如果CPU时间接近每帧时间(72 FPS意味着每帧渲染13.9毫秒),那么应用程序是受限于CPU的,否则是受限于GPU的。
1. CPU 优化
1.1 场景及资源优化
- 动态批处理:对于足够小的网格,Unity会将许多相似的顶点分组在一起,并一次性绘制它们
- 静态批处理:将静态(不移动的)游戏对象组合成大网格,并以更快的方式渲染它们
- 优化脚本,降低代码、算法的复杂度
- 避免不需要的交互和物理计算
1.2 渲染优化功能
1.3 推荐的工程配置
- Scripting Backend: IL2CPP
- Target Architectures: ARM64
2. GPU 优化
2.1 场景及资源优化
- 尽可能避免使用实时照明和反射特效,优先采用烘焙贴图
- 尽量减少光照特效
- 光源数量控制在50个以内
- 谨慎使用实时阴影特效
- 粒子系统的数量控制在50以内
- 尽量减少半透明材质的渲染数量
2.2 渲染优化功能
- 使用注视点渲染并选择合适的等级
- 设置RenderTexture缩放系数小于1,推荐使用0.7,最好不要低于0.6,否则会影像画质
- 如果场景中静态模型数量较多,建议开启遮挡剔除 (opens new window),降低被渲染对象个数,从而降低每帧渲染时间。
2.3 推荐的质量配置
- Pixel Light Count: 1
- Anisotropic Textures: Per Texture
- Anti Aliasing: 低于4x
- Soft Particles: Disable
- Real time Reflection Probes: Disable
- Billboards Face Camera Position: Disable
3. 功耗优化
奇遇系统统一管控CPU、GPU资源和频率,保障应用的稳定运行。开发者可通过以下途径优化应用的功耗,确保用户体验。
3.1 场景及资源优化
- 尽量降低纹理图片尺寸
- 优化shader性能,可参考Unity提供的优化指南:https://docs.unity.cn/2020.3/Documentation/Manual/SL-ShaderPerformance.html
- 推荐使用ogg、mp3格式的音频资源
- 优化视频资源,比如编码格式、码率、分辨率等要素
3.2 推荐的工程配置