Language:
Page Info
Tags:
Skill Level:
Engine Version:
Share

VR 性能功能

由于虚拟现实(VR)的渲染要求极高,因此虚幻引擎 4(UE4)中加入了大量 VR 专用的性能优化和新渲染模式。以下文档将介绍这些功能,以及如何在 UE4 VR 项目中使用这些功能。

VR 实例化立体

当前版本中加入了实例化立体渲染(Instanced Stereo Rendering),以减轻 UE4 中的 VR 性能影响。在 Edit > Project Settings > Rendering > VR 路径下勾选 Instanced Stereo 选项即可启用此功能。

点击查看全图。

启用 实例化立体 渲染后,需要重启引擎并重新编译着色器。功能启用后,可在静态网格体、骨架网格体、sprite 粒子和网格体粒子上使用基础通道和 early-z 通道(串行和并行渲染两者均可)。**实例化立体**当前可在 PC(DirectX)和 PS4 上使用,其他平台的支持将在 4.11 后的版本中陆续呈现。以下视频展示了 VR 标准立体渲染和实例化渲染的对比。

移动 VR 多视图

部分移动设备现支持 VR 多视图。多视图(Mobile Multiview)与台式电脑上使用的实例化立体渲染相似,工作原理是在移动设备的 CPU 上提供一个立体渲染的优化路径。请按以下步骤操作,启用此功能:

因为此功能仍在实验性阶段,它只支持 Mali GPU。待该功能日趋成熟后,将支持更多的移动设备,该警告便会随之消失。

  1. 在主工具栏中前往 Edit > Projects Settings,打开编辑器的 Project Settings。

  2. 然后前往 Engine > Rendering > VR,找到 Mobile Multi-View (Experimental) 选项。

  3. 点击 Mobile Multi-View (Experimental) 选项旁的勾选框将其启用,然后重启编辑器使修改生效。

    点击查看全图。

需要对 Android 版本进行如下设置才能使此功能正常使用:

  • Android > Build 部分中启用 Support OpenGL ES2

  • 禁用 Mobile HDRInstanced Stereo Rendering

  • 当前版本中,多视图功能只支持 Mali GPU。 如打包项目时开启了此功能但 GPU 不兼容,其在运行时将被禁用。

VR 前向渲染

ForwardRenderingBanner.png

虚幻引擎 4 默认使用延迟渲染器,因为它的功能最全面,渲染功能更多。 然而,延迟渲染器存在一些权衡,可能不适用于所有 VR 项目。 前向渲染 提供更快的基线和更快的渲染通道,可在 VR 平台拥有更好的性能。 前向渲染不仅速度更快,相较于延迟渲染器它还拥有更多抗锯齿选项,带来更为清晰明快的显示效果。

如需了解此功能的详细内容,请查阅 VR 前向着色渲染器 文档。

VR 性能分析

如需找到 VR 项目中开销过高的资源,须在项目生命周期中尽多地对项目在 CPU 和 GPU 执行的操作进行分析。

  • GPU 分析 - 运行项目时按下 CTRL + SHIFT + ,(逗号键) 即可启用 GPU 分析工具。按下组合键后,将出现与下图相似的新窗口。 VR_GPU_Profiler.png

  • CPU 分析工具 - 项目的 CPU 分析比 GPU 分析更为复杂。请查阅 性能分析工具 文档中的详细操作说明。

VR 后期处理设置

由于 VR 的渲染要求较高,因此需要禁用诸多默认开启的高级后期处理功能,否则项目可能出现严重的性能问题。执行以下步骤完成项目设置。

  1. 在关卡中添加一个后期处理(PP)体积域。

  2. 选择 PP 体积域,然后在 Post Process Volume 部分启用 Unbound 选项,使 PP 体积域中的设置应用到整个关卡。

    VR_PP_Unbound.png

  3. 打开 Post Process VolumeSettings,前往每个部分将启用的 PP 设置禁用:先点击属性,然后将默认值(通常为 1.0)改为 0 即可禁用功能。

    VR_Disable_PP_Settings.png

    执行此操作时,无需点击每个部分并将所有属性设为 0。可先行禁用开销较大的功能,如镜头光晕(Lens Flares)、屏幕空间反射(Screen Space reflections)、临时抗锯齿(Temporal AA)、屏幕空间环境遮挡(SSAO)、光晕(Bloom)和其他可能对性能产生影响的功能。

Tags