解读英伟达VR性能分析工具:将补帧打回原形
本文相关引用及参考:roadtovr
英伟达已经推出了最新的FCAT VR分析工具,配备了大量功能让我们可以深入了解PC渲染虚拟现实的能力。
(映维网 2017年3月3日)英伟达已经推出了最新的FCAT VR分析工具,配备了大量功能让我们可以深入了解PC渲染虚拟现实的能力。
在本周GDC大会上发布的VR版FCAT工具旨在提供虚拟现实渲染性能的度量,帮助爱好者和开发者判断VR的性能表现。
在过去的PC游戏时代,硬件爱好者世界主要通过简单的跑分来评判设备的性能。诸如3DMark提供的基准跑分仿佛是给最快速和最优秀的GPU戴上了荣誉徽章。在那时,最高的帧速率是游戏性能的主要衡量标准,大多数基准分数主要是基于显卡从帧缓冲区中提取像素的速度。然而,PC游戏领域中的长期从业者都会告诉你,单凭跑分是不能准确判断系统的实际性能表现。一台怪兽级设备可以在基准测试中跑出极高的分数,但在实际的游戏运行中有可能提供不及格的用户体验。
然而,随着时代的发展,诸如“frame pacing”和“Micro-stuttering”等名词已经悄然出现在性能评测社区的对话中。爱好者开始承认,硬件提供的渲染体验一致性胜过一切。伴随着思维的转变,新工具和新基准测试也陆续面世,以更深入挖掘PC性能,判断硬件在提供一致体验时的表现。
其中一个这样的工具就是FCAT(帧捕捉分析工具)。于2013年亮相的FCAT工具旨在捕捉用户在显示器上实际看到的快照,测量帧延迟和由丢帧引起的卡顿现象。
现在,英伟达已经正式发布了可深入捕捉PC渲染性能表现的产品FCAT VR,以处理PC游戏面临的最新渲染挑战:虚拟现实。
1. FCAT VR是什么
本质上,FCAT VR是一个帧长度(frametime)分析工具,接入渲染管道并在底层抓取性能指标。FCAT会采集关于帧长度(frametime,应用程序渲染帧所用的时间)、掉帧(帧渲染太慢)、以及VR头显中原生二次投影技术运行的性能表现数据的信息(参见下面对再投影的简短介绍)。
最初的FCTA软件包只是一堆二进制文件和脚本的组合,其提供了从VR会话中捕捉数据,并将该数据转换为有意义的捕捉分析的工具。然而,FCAT VR针对的是可访问性,因此,新软件完全封包在GUI中。 FCAT VR由三个组件组成:VR Capture接入渲染管道并捕捉性能指标;VR Analyser会根据Capture获取的数据进行解析,形成可读的图形和度量;VR Overlay则在VR内向佩戴头显的用户提供应用程序性能的视觉参考。
当VR Capture启动时(先于VR游戏),其会准备好接入渲染管道并抓准信息。一旦FCAT VR打开,配置的热键就会激活基准测试,然后开始在磁盘上写入原始度量数据。在完成后,你就可以通过提供的脚本(或自己编写)来提取人类可读的数据,输出图表、图形或任何你喜欢的可视化形状。流程已经脚本化,捕捉和提取都可高度定制。
2. FCAT VR给基准测试带来了什么
虚拟现实的渲染极具挑战性,当前主要的消费者版头显厂商都采用了特别的渲染技术来帮助游戏PC满足低延迟高帧率(90FPS)的所需标准。当系统性能低于期望的最小值时,系统就会出现卡顿、掉帧等用户难以忍受的状况。下图是简化的VR渲染管道(几乎适合所有的PC VR系统)。
然而,考虑到游戏PC的复杂性,即便是最强大的设备也会出现性能下降。这可能导致VR应用不能满足持续实现90FPS的理想标准。性能下降会导致掉帧,这可能反过来导致在VR中产生令人不适的卡顿现象。
当前头显厂商采用的主要技术包括异步时间扭曲(以及现在的异步空间扭曲)和二次投影。这些技术可以确保用户在头显中看到的画面尽可能地匹配用户运动。在最后可能时刻的数据采样会用于变形帧以匹配来自头显的最新移动数据,通过“扭曲”(产生合成)帧来填补由不一致或性能不足的系统或应用留下的空隙。即使如此,这些技术所能做的也只有这样。当应用程序或运行时系统都不能为VR头显提供最新的帧时,“Warp Miss(扭曲缺失)”就会出现。
这是一个安全网,但这对减轻因出现掉帧、卡顿和图像抖动等情况而产生的晕动症尤为关键。Oculus现在对他们的二次投影技术十分自信,其推出的专有异步空间扭曲技术降低了PC VR最低规格标准。但,所有这些技术都不是万能药,不能有效解决糟糕的硬件性能。但即便如此,现在也没有任何的替代方案让帧率可以完美匹配VR头显的显示屏。
无论是哪种方式,这些都是低级别的实现技术,对位于渲染管道前的任何应用几乎都没有效果。因此,当性能下降以及这些优化技术启用时,从驱动程序采集的度量对了解系统的运行状况至关重要。这也是FCAT VR的作用所在。英伟达总结了新工具的功能:
-
帧长度(Frame Time):由于FCAT VR提供详细的时序,可以测量渲染每个帧所需的时间。帧长度越短,应用程序保持高质量VR体验所需的90 fps帧率的可能性就越大。帧长度的测量还允许用户判断PC有多少可用于VR头显的性能余量。
-
掉帧:每当VR游戏渲染的帧未能及时显示在头显中,就会出现掉帧的情况。这会导致游戏产生卡顿,增加延迟,从而让用户感觉不适。
-
扭曲丢失(Warp Miss):当运行时系统无法在当前刷新间隔中产生新的一帧(或二次投影的帧)时,就会出现扭曲缺失,这会导致严重的卡顿。
-
合成帧:异步空间扭曲(ASW)可利用先前渲染的一帧来合成新的预测帧。当FCAT监测到大量的ASW帧时,我们就可以知道系统在跟上游戏的要求时存在困难。合成帧比掉帧更好,但真实渲染的帧要更好。
3. 总结
简而言之,这意味着用户不仅可以测量其VR系统的高水平性能,而且最重要的是能够深入到每种技术的指标。我们现在可以分析每个平台的二次投影技术在不同应用程序和硬件配置方面的活跃程度和效果。例如,与Open VR的异步二次投影相比,Oculus专有的异步时间扭曲是否更加优异?它还可以为系统爱好者提供的重要信息,以确定问题所在。或者是帮助开发者对应用程度进行优化调整。
也就是说,我们可以通过最新的FCAT VR工具来全面测量其提供的信息范围,以及判断VR系统的性能表现。毫无疑问,FCAT的最新成果提供了全面的工具,帮助我们去深入衡量VR性能,而且现在我们终于可以揭开更深层次的渲染管道。