.. _6 性能优化指南: 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 .. image:: _static/6.2.3.1.png 图6.1 Window工具栏 2.选中Show preview packages .. image:: _static/6.2.3.2.png 图6.2 Packages的advanced选项 3.选中Universal RP后,点击右下角的Install .. image:: _static/6.2.3.3.png 图6.3 安装URP 4.创建Universal Render Pipeline Asset .. image:: _static/6.2.3.4.png 图6.4 创建URP Asset 5.使用UniversalRenderPipelineAsset 把第四步创建的文件拖到Project Setting/Graphics的Scriptable Render Pipeline Setting中 .. image:: _static/6.2.3.5.png 图6.5 使用URP Asset 6.更新项目中的materials为URP materials .. image:: _static/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设置为高。