自从三大头显厂商Oculus,HTC和SONY在2016年发布了虚拟现实(VR)头显产品后,由于能够带来卓越的沉浸式体验,VR越来越受到市场的关注和重视,而VR也被认为会取代智能手机成为下一代的计算平台。然而,尽管虚拟现实能给用户带来身临其境般的沉浸式体验,但相比传统应用,其具有双目渲染、低延迟、高分辨率以及高帧率等严苛要求,因此极大地增加了 CPU 和 GPU 的计算负载。鉴于此,性能问题对于虚拟现实应用尤为重要,因为VR体验如果没有经过优化,容易出现掉帧等问题,让用户使用时发生眩晕的情况。在本文中,我们将介绍一种适用于所有游戏引擎及虚拟现实运行时(VR runtime)的通用分析方法,分析基于 PC 的VR游戏面临的性能问题。我们以腾讯的一款PC VR游戏《猎影计划》为例展示如何利用这套方法进行分析。在此之前我们先来了解一下VR游戏对性能要求较传统游戏高的四大原因。
VR游戏和传统游戏在硬件性能需求上的区别
相较于传统游戏,VR游戏由于存在高帧率、双目渲染及容易产生眩晕等特性,导致对于硬件计算能力的需求显著上升。下面从4个方面比较一下VR游戏和传统游戏的区别:
像素填充率
以一个1080p 60fps游戏为例,像素填充率为124M pixels/sec。如果是支持高端VR头盔(Oculus Rift,HTC Vive)的游戏,像素填充率为233M pixels/sec(分辨率2160x1200,帧率90fps)。但是中间需要一个较大的渲染目标,避免图像经过反形变校正后产生用户可见并且没被渲染到的区域,导致视角(FOV)降低。根据SteamVR的建议,需要放大的比率为1.4倍,所以实际的像素填充率为457M pixels/sec(分辨率3024x1680,帧率90fp