6 性能优化指南

6.1 帧率及场景的要求

帧率:

G2 4K需要保证不低于30帧,建议45帧以上,Neo 2需要保证60帧以上,Neo 3 需要保证稳定达到72帧。

场景:

同屏模型三角面片控制在10万以内

同屏模型顶点数控制在10万以内

普通unity灯光例如电光源数量控制在50以内

普通unity粒子系统数量控制在50以内

Unity shader尽量使用效率较高的

优化方法举例:

在保证显示的情况下减少模型面片顶点数量

尽量共用材质,动画

尽量使用压缩纹理格式

尽可能少的使用灯光特效等

尽量使用静态批处理

脚本优化,减少不必要内存,计算等资源消耗

6.2 高级渲染功能

6.2.1 注视点渲染

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

详情可参考:8.6章 注视点渲染

6.2.2 SinglePass

基于Unity的SinglePass的原生功能,用一个摄像机实现立体渲染,比使用两个摄像机减少一半的DrawCall和遮罩剔除,对复杂的场景帧率提升明显。但是SinglePass模式不支持屏幕后处理。该选项针对所有场景,全局生效。

详情可参考:8.9章 Singlepass

6.2.3 URP配置说明

URP相关内容参见Unity官方网站(https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@10.3/manual/whats-new/urp-whats-new.html)。

以Unity2019.4.2f1为例。

1.打开Window/Package Manager

_images/6.2.3.1.png

图6.1 Window工具栏

2.选中Show preview packages

_images/6.2.3.2.png

图6.2 Packages的advanced选项

3.选中Universal RP后,点击右下角的Install

_images/6.2.3.3.png

图6.3 安装URP

4.创建Universal Render Pipeline Asset

_images/6.2.3.4.png

图6.4 创建URP Asset

5.使用UniversalRenderPipelineAsset

把第四步创建的文件拖到Project Setting/Graphics的Scriptable Render Pipeline Setting中

_images/6.2.3.5.png

图6.5 使用URP Asset

6.更新项目中的materials为URP materials

_images/6.2.3.6.png

图6.6 更新项目中的materials

6.2.4 透传层

“VR Compositor Layers”技术对于显示“旨在作为场景焦点”的信息、文本、视频以及纹理非常有用,也可以用于显示简单的场景环境和背景。详情可参考:8.7章VR Compositor Layers

6.3 缓解发热

1.检查VR应用程序当前的帧率。

要使用PXR_Manager实时显示帧率,请按照8.1章显示帧速率中的说明进行操作。

您也可以在设备上进行设置。转到2D设置 -> 系统 -> 用户配置。在“特殊设置”下,打开“ VR应用帧率显示”。

2.启用Foveated Rendering。建议将Foveation Level设置为高。