被称作VR“沉浸感杀手”的“延时”到底是什么?(下)

黑匣VR 2016-12-02 19:00

上回黑匣VR小百科说到,延时究竟为何物。这回,黑匣再请HYPEREAL团队来讲一讲如何降低延时。俗话说的好,提升比赛成绩,除了刻苦训练,还可以尝试抢跑。搞清楚了'...

上回黑匣VR小百科说到,延时究竟为何物。这回,黑匣再请HYPEREAL团队来讲一讲如何降低延时。

俗话说的好,提升比赛成绩,除了刻苦训练,还可以尝试抢跑。搞清楚了延时的构成,接下来就是八仙过海,各显神通啦。

鉴于完整的介绍各种技术需要很大的篇幅,这里就举几个典型的例子略作说明吧。

别太早

通俗的说,就像你想追个姑娘,别猴急要慢慢来!

通常来说,是先拿到头部的位置和姿态,再进行渲染。实际上,从准备环境,开始渲染调用,到头部的位置和姿态真正用于渲染,是有一个过程的。这个过程中,头部可能已经运动到新的位置和姿态。

就好像,你一刷朋友圈发现姑娘在三里屯,立马订了张机票就往北京赶,只为跟上她的最新动态。可是姑娘的心意说变就变,等你赶到三里屯,人家姑娘已经在杭州西湖了啊。

所以,如果可以延后获取头部的位置和姿态的,直到它们真正需要的时候,就可以缩短整体延时。目前,AMD的Latest Data Latch技术就利用了这个思想。

猜猜看

这次你吸取了教训,你决定猜一猜女神下一次什么时间会出现在哪里。

我猜我猜我猜猜猜~这个游戏对短时间段内的预测比较有效,可是当你的女神频繁改变自己的位置或者你想预测她下个月在哪的时候,误差就会明显加大,还不如不猜呢。

接着上个例子,即使在渲染真正开始的时候再获取头部的位置和姿态,等到渲染完成进行显示时,又过了一段时间。一般而言,这段时间的长短和场景的复杂度以及计算机的渲染能力有关。在渲染的过程中,头部可能继续运动到了新的位置和姿态。为了让当前渲染的图像(也就是最短时间内能够获得的显示输出)更好的匹配最新的头部运动,一般会对头部的位置和姿态进行必要的预测。预测需要建立模型,并提供预测的时间长度。原则上,预测的时间越长,其可靠性越低。在头部变加速运动的时候,一般预测的误差会显著加大,其结果有可能差于不进行预测的结果。尽管有这些问题,较短时间的预测,其可靠性还是相当不错的,所以预测也成为了各家VR公司SDK的标配技术。

抓重点

考试复习还要跳重点备战呢,更何况VR图形渲染

缩短渲染时间的另外一个思路是抓住重点。人类视觉系统有一个特点,中心视觉的敏锐度要显著高于周边视觉。做个小实验,盯住一个物体,仔细感受一下能够看清楚的区域有多大,就会体会到这一点。对于正常人而g言,这个能够清晰感知的中心区域相对于人眼的全部可见视域,只占大约2度左右。这并不是说周边区域不重要,因为它们起到提供空间定位信息等关键作用,只是不需要那么清晰。NVIDIA公司基于Maxwell架构推出的多分辨率渲染(Multi-Res Shading)技术就充分利用了这一点。

分治之

屏幕有两块,那当然要弄俩显卡了啊

立体视觉图像,需要对一个场景分别渲染适配于左眼与右眼的图像各一张。所以一个自然的想法,就是能不能用两块显卡分开渲染。一块画左眼,一块画右眼,这样不就可以加速一倍了吗!

而实际的速度提升,是达不到一倍的。因为分开渲染的缘故,Draw Call的次数是要翻倍的,因此也有一些针对性的技术来解决这个问题,比如NVIDIA的Single Pass Stereo技术。同时,由于左右眼的图像需要合并输出,所以还需要额外的时间用于从副卡将渲染结果拷贝到主卡中。尽管有这些额外的开销,多显卡并行由于大幅提升了渲染效能,仍然是土豪们的首选。

走捷径

为了提高效率,一直努力追赶女神脚步的你决定绕开了女神的闺蜜团、七大姑八大姨等等阻碍直接向女神表白!

直接显示技术也是这样的一步到位。传统的图形系统,常常使用两个缓存,一个用于当前显示,一个用于后台绘制,交替使用。双缓存技术,可以有效的避免绘制与显示共用一个缓存所带来的闪烁问题,同时也带来了一定的延迟。现代的桌面图形系统,有着更丰富的窗口与缓存管理体系,但这个体系在面临VR的高实时性要求时,也变成了一种阻碍。所以,面向VR的各种直接显示技术(Direct-to-Display以及Front Buffer Rendering),绕开了桌面图形系统的各种磕磕绊绊,一竿子捅到底,直达头盔显示器。

安全网

苟利延时缩短生死以,岂因画面缺失避趋之

在VR里,有一项技术被称为安全网,它就是时间扭曲(Time Warping)技术,它是缩短延时的最后保障。其独到之处在于,当系统判断在下一次刷新前,无论如何新的一帧画面都出不来的时候,它可以抢占GPU并把上一帧画面矫正后输出。尽管画面不那么准确,它至少能够保证用户得到实时的反馈。目前的技术,可以根据最新的头部姿态很好的做矫正,从而让人最敏感的朝向信息得到有效补偿。类似的,也可以根据最新的头部位置做矫正,不过要复杂许多,而且会有局限性。如果新一帧画面中包含了运动的物体,或者其他时间相关的或者视点相关的属性,矫正的过程中就会发生明显的失真。

综上所述,降低延迟的方法可以总结为这六种:

三招成达人

看着像吃了摇头丸,其实是达人在测延时

如果你打算实际测试一个VR系统的延时,可以模仿这些喵星人们的风骚操作:

快速转动头部,看看旋转延时

快速左右移动,或者上下移动,看看平移延时

快速内容切换,比如开关灯,发射子弹等,看看模拟延时

这三个方面基本上客观的涵盖了整个系统在延时上的表现。Get了这些技能,下次去VR展会,就可以尝试一下做达人的感觉啦!

看,VR达人风范尽显

低延时不是万能的,但没有低延时是万万不能的!

作为衡量VR设备的重要指标,延时之于沉浸感,如任督二脉一般重要。

【转载请洽黑匣微信:heixvr】

最新文章
猜你喜欢