您的位置 首页 产品

VR范畴常谈的异步时刻歪曲技能究竟是什么?

VR领域常谈的异步时间扭曲技术到底是什么?-可能很多朋友对Oculus的ATW异步时间扭曲技术感到陌生,但如果你经常听国内一些技术流的VR创业公司的演讲,那么你对“异步时间扭曲”这个词肯定不会陌生。

信任关于玩过CS的人来说,Valve并不生疏,他于上一年推出一个全新的SteamVR beta版来回应Oculus的“异步时刻歪曲”技能。提到这,或许许多朋友对Oculus的ATW异步时刻歪曲技能感到生疏,但假如你常常听国内一些技能流的VR创业公司的讲演,那么你对“异步时刻歪曲”这个词必定不会生疏。例如自称国内第一家把握ATW技能的烟火工坊,在他们的第一次发布会上CTO王明杨就提到了这项技能。其时他测验了进行解说,但后来抛弃了,只说“你们知道这很牛逼就行了”。尔后CEO娄池也在各种场合提起ATW,包含微信朋友圈。别的一家公司乐相也是。

烟火工坊CEO娄池和乐相CEO陈向阳的朋友圈

ATW究竟牛逼在哪?

异步时刻歪曲英文是Asynchronous TImewarp,简称ATW。简略来说,这是一种生成中心帧的技能。当游戏画面无法坚持满足的帧率时,它能发生中心帧进行补偿,然后坚持较高的画面改写率。这项技能的提出者John Carmack现在是Oculus的CTO。

在采访中,王明杨解说ATW,他是这样说的:

正常情况下,咱们的手机大部分是60hz改写,也便是说,在抱负情况下咱们的手机大概要处理有60帧/秒。那么,从数据到烘托就有 1000 /60 ~= 16.6666ms的时延。

那么,怎么抵消这个时延呢?卡马克(John Carmack)提出一种办法,经过很多收集陀螺仪数据,在样本满足多的情况下,就能够猜测出16.66ms后你头部应有的旋转和方位,依照这个猜测的数据来烘托,他管这个技能叫TImewarp。

可是问题又来了,一般VR场景很杂乱,咱们很难确保每次都在16.66ms内完结一次烘托,也便是咱们很难确保每个运用都是60fps。那么卡神又提出一个ATW,便是异步的TImewarp。

他把VR运用的烘托管线规划成两个线程,烘托线程(出产者)和TImewarp线程(顾客),两者异步作业,出产者出产满足多的Framebuffer,顾客把出产者出产的东西做Timewarp之后贴在屏幕上。也便是说,不管你当时游戏的fps是多少,Timewarp一直被规划成坚持在60fps(视改写率而定)。

这便是ATW的中心细节,把Timewarp和发生Framebuffer别离,用高改写率的Timewarp来交换低时延。

ATW技能在VR中运用的前驱是Oculus,早在两年多曾经他们就在Gear VR上运用了这项技能,直到上一年3月25日宣告在PC端的SDK上参加ATW的支撑。

具体怎么做?

图片来历:Oculus博客(下同)

Oculus在博客里对ATW做了具体的解说。如上图所示,GPU给左右眼的画面别离进行烘托,然后在画面显现出来之前刺进一个ATW的处理进程。在左面这帧的处理中,画面烘托及时完结,此刻直接显现就行了;中心的第二帧烘托未能及时完结,此刻假如什么都不做就会呈现画面颤动,而有了ATW的话,它会将前面一帧调用出来从头显现,一起加上头盔运动改变,然后坚持帧率。

这技能很难吗?

据王明杨表明,ATW技能很简略,中心代码仅5行。但假如要到达最好的作用,还需求以下几点:

1. GPU有必要支撑抢占式上下文(GPU preemption)。这个还好,大部分Mobile GPU都支撑,可是桌面GPU大部分还不支撑;

2. 体系最好支撑主外表写入,这个跟GPU有必定联系,可是跟操作体系联系比较大;

3. GPU有必要有较高的功能,这个很好了解,Timewarp线程实践上加剧了烘托担负。

Oculus先在Gear VR上完成ATW,原因便是上面的第1点。他们将ATW带到PC渠道上,是在微软、英伟达和AMD支撑的情况下完成的。英伟达开发了VRWorks,AMD则有Liquid VR。

国内厂商中,乐相陈向阳表明ARM对大朋VR供给了Front Buffer和Context Priority的支撑,用以在移动VR上完成ATW。

没有定制硬件的烟火工坊则在Oculus的基础上修改了一部分Timewarp的完成。“咱们在烘托线程那里会监控Timewarp线程的作业情况,动态的平衡GPU附载,确保Timewarp线程作业在比较高的帧率下。”王明杨说。

有什么难点和限制?

听起来ATW是项很棒的技能,但它也不是完美的。依据Oculus的博文,ATW的一个难点是方位颤动(Positional Judder)。

方位颤动是依据方向的Timewarp带来显着瑕疵之一。在运用VR设备时,当头部移动了, 假如在ATW发生图画帧时只考虑了旋转,而平移却被忽略了。这意味着当你的头从一边移动到另一边时,你看见的离你很近的物体会有多个图画的颤动,这种作用在临近场空间中是十分显着的,比方下面的这个潜艇截图。

Gear VR比较简单用上ATW,是由于它不支撑方位追寻,而PC渠道的Oculus Rift支撑。Oculus最近宣告Rift支撑ATW,应该是处理了方位颤动的问题。

别的一点是运动的物体和动画。运用ATW时,动画或许移动的物体会引起别的一个瑕疵, 由于它发生的新图画仅仅依据前一帧图画生成的,缺少了物体的运动信息,全部的中心帧都好像是被冻结了相同,因此关于运动的物体简单发生颤动,见下图。

不过王明杨却是以为尽管近处物体是个限制,但影响并没想像的那么大。

总结

整体来说ATW确实是一项很棒的技能,假如没有它的话,开发者在游戏开发中为了坚持画面帧率只能十分保存地运用CPU和GPU功能,而ATW能够游戏更简单坚持帧率安稳,然后让开发者在画面规划上愈加斗胆。

实践运转中Oculus发现,没有运用ATW的app在运转中丢掉了约5%的帧。ATW能够将大部分丢掉的帧补上,然后大幅削减画面颤动。而这全部对app来说不需求耗费更多功能或更改代码就能完成。Oculus还表明这全部仅仅开端,他们正与合作伙伴测验进步ATW的运转功率。为了发生一个舒适,令人信服的虚拟现实,开发人员依然需求坚持帧率在90赫兹,假如到达90赫兹,将使VR具有很好的舒适性,这是VR存在的真实魅力。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/172364.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部