6 性能优化指南

6.1 性能优化建议

6.1.1 性能分析工具

Pico一体机需要保证稳定在72帧,为了准确的获取应用运行的帧率变化以及每帧的耗时,建议开发者借助合适的性能分析工具,这里推荐使用Epic官方提供的Unreal Profiler工具、Unreal Insight工具以及Metrics Tool、Snapdragon Profiler。
  1. Unreal Profiler

分析工具(Profiler) 可以实时收集并跟踪Pico应用的数据,监控性能,可以通过有线以及无线的方式连接Pico设备。详细的使用说明,请参考Epic官方文档: 分析工具参考 | 虚幻引擎文档 (unrealengine.com)

_images/6.1.1.png

图6.1 Unreal Profiler

  1. Unreal Insight

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

_images/6.1.2.png

图6.2 Unreal Insight工具

  1. Metrics Tool

使用说明见 10.1 Metrics Tool。

  1. Snapdragon Profiler

使用说明见 10.2 Snapdragon Profiler

6.1.2 美术相关的建议

  1. 写实和风格化

考虑到一体机的性能,建议开发者优先使用风格化的美术风格,一般来说写实风格会为Pico一体机带来更高的性能压力,也会为开发过程中带来更多的技术难题。

  1. 面数控制

基于当前Pico一体机的性能,建议开发者将同屏模型三角面片控制在100万以内 。

  1. 布料和毛发

布料和毛发的实时物理运算,性能十分昂贵,在应用时开发者一定要慎重考虑,建议通过其他低性能消耗的替代方案实现,例如可以通过稍微风格化的方法,改用雕刻的、有纹理的模型等方式实现毛发效果。

  1. 动态阴影

动态阴影对画面效果有着明显的提升,但是会对性能造成巨大的影响。动态阴影需要每帧计算,会给 CPU 和 GPU 带来很大负担,并且通常需要在单帧内多次重新渲染场景。建议开发者更多的使用烘焙的静态光照贴图等静态光影。

  1. 全屏效果

建议开发者慎重使用全屏效果,例如运动模糊、像素轮廓描边、实时环境光遮蔽、色调映射和光晕,需要大量像素吞吐量,会对Pico一体机硬件造成较大的性能冲击。

  1. 茂密的植被

茂密的植被与毛发同样对性能有较大的挑战,建议开发者尽量减少茂密植被出现的情景。

6.2 针对Pico应用的优化方法

优化方法举例:

  • 在保证显示的情况下减少模型面片顶点数量
  • 尽量共用材质,动画
  • 尽量使用压缩纹理格式
  • 尽可能少的使用灯光特效等
  • 尽量使用静态批处理
  • 脚本优化,减少不必要内存,计算等资源消耗

更多优化方法请参考Epic官方文档: 测试并优化你的内容 | 虚幻引擎文档 (unrealengine.com)11.常见问题解答

6.3 高级渲染功能

6.3.1 注视点渲染

注视点渲染可以优化渲染场景的能力,为视野焦点提供高分辨率,周边视野则大大降低场景的细节。

详情可参考:第八章注视点渲染章节

6.3.2 Mobile Multi-View

基于Unreal的MultiView的原生功能,用一个摄像机实现立体渲染,比使用两个摄像机减少一半的DrawCall和遮罩剔除,对复杂的场景帧率提升明显。

详情可参考:第八章MultiView章节

6.3.3 VR合成层

“StereoLayer”技术对于显示“旨在作为场景焦点”的信息、文本、视频以及纹理非常有用,也可以用于显示简单的场景环境和背景。

详情可参考:第八章StereoLayer章节