6 性能优化指南¶
6.1 性能优化建议¶
6.1.1 性能分析工具¶
Pico一体机需要保证稳定在72帧,为了准确的获取应用运行的帧率变化以及每帧的耗时,建议开发者借助合适的性能分析工具,这里推荐使用Epic官方提供的Unreal Profiler工具、Unreal Insight工具以及Metrics Tool、Snapdragon Profiler。
- Unreal Profiler
分析工具(Profiler) 可以实时收集并跟踪Pico应用的数据,监控性能,可以通过有线以及无线的方式连接Pico设备。详细的使用说明,请参考Epic官方文档: 分析工具参考 | 虚幻引擎文档 (unrealengine.com) 。

图6.1 Unreal Profiler
- Unreal Insight
Unreal Insights 工具与Unreal Profiler工具类似,但是稳定性更强。Pico设备可以通过Type-C线,与PC端的Unreal Insights 工具建立TCP连接,实时监控Pico应用的运行状态,迅速发现应用运行过程中的性能瓶颈,适用于优化性能,收集、分析和显示运行时的数据。详细的使用说明,请参考Epic官方文档: Insight工具参考 | 虚幻引擎文档 (unrealengine.com) 。

图6.2 Unreal Insight工具
- Metrics Tool
使用说明见 10.1 Metrics Tool。
- Snapdragon Profiler
使用说明见 10.2 Snapdragon Profiler
6.1.2 美术相关的建议¶
- 写实和风格化
考虑到一体机的性能,建议开发者优先使用风格化的美术风格,一般来说写实风格会为Pico一体机带来更高的性能压力,也会为开发过程中带来更多的技术难题。
- 面数控制
基于当前Pico一体机的性能,建议开发者将同屏模型三角面片控制在100万以内 。
- 布料和毛发
布料和毛发的实时物理运算,性能十分昂贵,在应用时开发者一定要慎重考虑,建议通过其他低性能消耗的替代方案实现,例如可以通过稍微风格化的方法,改用雕刻的、有纹理的模型等方式实现毛发效果。
- 动态阴影
动态阴影对画面效果有着明显的提升,但是会对性能造成巨大的影响。动态阴影需要每帧计算,会给 CPU 和 GPU 带来很大负担,并且通常需要在单帧内多次重新渲染场景。建议开发者更多的使用烘焙的静态光照贴图等静态光影。
- 全屏效果
建议开发者慎重使用全屏效果,例如运动模糊、像素轮廓描边、实时环境光遮蔽、色调映射和光晕,需要大量像素吞吐量,会对Pico一体机硬件造成较大的性能冲击。
- 茂密的植被
茂密的植被与毛发同样对性能有较大的挑战,建议开发者尽量减少茂密植被出现的情景。
6.2 针对Pico应用的优化方法¶
优化方法举例:
- 在保证显示的情况下减少模型面片顶点数量
- 尽量共用材质,动画
- 尽量使用压缩纹理格式
- 尽可能少的使用灯光特效等
- 尽量使用静态批处理
- 脚本优化,减少不必要内存,计算等资源消耗
更多优化方法请参考Epic官方文档: 测试并优化你的内容 | 虚幻引擎文档 (unrealengine.com) 与 11.常见问题解答
6.3 高级渲染功能¶
6.3.2 Mobile Multi-View¶
基于Unreal的MultiView的原生功能,用一个摄像机实现立体渲染,比使用两个摄像机减少一半的DrawCall和遮罩剔除,对复杂的场景帧率提升明显。
详情可参考:第八章MultiView章节
6.3.3 VR合成层¶
“StereoLayer”技术对于显示“旨在作为场景焦点”的信息、文本、视频以及纹理非常有用,也可以用于显示简单的场景环境和背景。
详情可参考:第八章StereoLayer章节