目前VR设备基于处理能力和体验效果可以分为Premium VR、Mainstream VR 以及 Entry-Lever VR. Premium VR 代表的是高端 VR,这类产品以高配置、性能非常好的 PC 或者游戏主机为基础,目前市场上支持此类型VR的外设主要提供商是HTC Vive,Oculus Rift和Sony PS VR。Mainstream VR代表是性能达不到高端VR的硬件处理能力,但是还是PC处理器为计算能力的VR设备。入门级的VR是包括所有的移动VR设备,例如 Gear VR,也S包括利用手机芯片作为计算设备的VR眼镜和一体机。
我们在第一部分中介绍了Fraps,游戏加加,UE console command等VR测试分析工具。进一步的分析可以使用Windows Assessment Development Kit (ADK)工具里面的GPUVIEW和WPA来做。
GPUVIEW是一个很强大的工具。上面的命令”stat Unit”只是简单初略的看出是GPU bound还是CPU bound,有时候并不是特别准确,比如CPU的某个线程负担过重导致GPU一帧中间出现一些bubble,这种情况用Stat Unit看到的GPU的渲染时间是bubble的时间加上真正的渲染时间 ,此时需要GPUVIEW结合WPA还分析。比如在下面这种情况,每帧中间都有一个2ms的bubble,此时GPU是不工作的,本来一帧的渲染时间不到11ms,但是加上这个bubble后,渲染时间就超过了90FPS要求的11.1ms,导致下一帧错过Vsync时间,掉帧。
图 13.GPUVIEW界面
此时我们可以用WPA打开同一个Merged.etl文件,通过时间轴找到bubble所在的时间窗口,来定位CPU哪个线程的负担较重,此时正在运行什么。
图 14.WPA界面
如果在GPUVIEW中看到的一帧GPU的渲染时间超过11.11ms的话,此时确定是GPU bound,可以用Intel的Graphic Performance Analyzer来分析具体渲染管线里哪部分的任务过重。
GPA 是Intel开发一款免费的图形性能分析器工具,访问官网 。这个工具非常强大,包括以下几个独立的工具:
下面我们举个例子来测试分析下VR游戏。
测试之前可以用dxdiag查看下机器配置
首先用Fraps测试一段时间得出帧率变化如下,从这个图形来看,有部分场景可以达到90FPS,但是后面的大部分帧率都是在45左右,性能完全不达标,需要进一步分析。
图 16.FPS显示
用UE console command “stat FPS” 寻找到帧率较低的场景来重点分析。
如果觉得游戏变化太快导致来不及抓数据,可以用console command PAUSE来暂停游戏以方便打开所需要的工具。
结合stat Unit命令的参数来看,大概CPU渲染线程和GPU都有瓶颈。
详细内容请点击链接:https://software.intel.com/zh-cn/articles/testing-and-analysis-of-premium-vr-game-part2?utm_source=CSDN&utm_campaign=VR_PRC_17
来源: http://geek.csdn.net/news/detail/247947