VR对CPU性能的要求分析
导语:伴随着全新VR体验所带来的双目渲染、高分辨率和低延时等要求,对CPU和GPU都造成了极大的计算压力,一旦VR应用出现性能问题,非常容易造成用户眩晕并带来极差的用户体验,因此性能问题对于VR体验的好坏格外重要。本文将集中介绍VR需要高计算量的原因, 以及分享如何利用工具查找VR应用的性能问题和CPU瓶颈所在。
自从三大头显厂商Oculus、HTC和Sony在2016年发布了虚拟现实(VR)头显产品后,由于能够带来卓越的沉浸式体验,VR越来越受到市场的关注和重视,而VR也被认为会取代智能手机成为下一代的计算平台。然而,尽管虚拟现实能给用户带来身临其境般的沉浸式体验,但相比传统应用,其具有双目渲染、低延迟、高分辨率以及高帧率等严苛要求,因此极大地增加了CPU和GPU的计算负载。鉴于此,性能问题对于虚拟现实应用尤为重要,因为VR体验如果没有经过优化,容易出现掉帧等问题,让用户使用时发生眩晕的情况。在本文中,我们将介绍一种适用于所有引擎及虚拟现实运行时(VR runtime)的通用分析方法,分析基于PC的VR面临的性能问题。我们以腾讯的一款PCVR《猎影计划》为例展示如何利用这套方法进行分析。在此之前我们先来了解一下VR对性能要求较传统高的四大原因。
VR和传统在硬件性能需求上的区别
相较于传统,VR由于存在高帧率、双目渲染及容易产生眩晕等特性,导致对于硬件计算能力的需求显著上升。下面从四个方面比较一下VR和传统的区别:
像素填充率
以一个1080p 60fps为例,像素填充率为124Mpixels/sec。如果是支持高端VR头盔(Oculus Rift、HTC Vive)的,像素填充率为233Mpixels/sec(分辨率2160x1200,帧率90fps)。但是中间需要一个较大的渲染目标,避免图像经过反形变校正后产生用户可见并且没被渲染到的区域,导致视角(FOV)降低。根据SteamVR的建议,需要放大的比率为1.4倍,所以实际的像素填充率为457M pixels/sec(分辨率3024x1680,帧率90fps),我们可以通过stencil mesh把最终不会被用户看到的区域剔除掉以减少需要渲染的像素,经过优化后的像素填充率为378M pixels/sec,但仍然是传统1080p 60fps的3倍像素填充率。
双目渲染
从渲染管线的角度来看,传统中每一帧的渲染流程大致如下,其中蓝色的部分是CPU的工作,绿色的部分是GPU的工作。但由于视差的关系,VR需要对左右眼看到的画面分别渲染不同的图像,所以下面的渲染管线也要对左右眼各做一次,从而增加了计算需求(在VR中两眼的视差较小,可以利用GBuffer或提交渲染指令后用view matrix变换等方法降低实际计算)。

图1 传统渲染流程
非常好我支持^.^
(1) 100%
不好我反对
(0) 0%
下载地址
VR对CPU性能的要求分析下载
相关电子资料下载
- 194
- 303
- 256
- 100
- 197
- 36
- 研华推出EPC-B3000系列嵌入式工控机,搭载先进X86架构CPU,助力边缘人工智能应用 91
- 143
- 28
- 43
