VR公司常说的“异步时间扭曲”技术是个什么鬼?

2016-04-07 14:04:54来源:雷锋网 热度:
如果你经常听国内一些技术流的VR创业公司的演讲,那么你对“异步时间扭曲”(ATW)这个词肯定不会陌生。例如自称国内第一家掌握ATW技术的焰火工坊,在他们的第一次发布会上CTO王明杨就提到了这项技术。当时他尝试了进行解释,但后来放弃了,只说“你们知道这很牛逼就行了”。此后CEO娄池也在各种场合提起ATW,包括微信朋友圈。另外一家公司乐相也是。

焰火工坊CEO娄池和乐相CEO陈朝阳的朋友圈

“异步时间扭曲”这个名称听起来很牛逼,但了解它实际含义的人可能不多。

一种生成中间帧的技术

异步时间扭曲英文是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 Context Priority)。这个还好,大部分Mobile GPU都支持,但是桌面GPU大部分还不支持;

2. 系统最好支持主表面写入(Front buffer Rendering),这个跟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的运行效率。

责任编辑:许仕林

为您推荐

安徽中广传播精彩亮相科普会

CMMB采用具有自主知识产权的移动多媒体广播电视技术,它是面向7寸以下小尺寸屏幕便携接收终端如手机、MP4、GPS接收机、MID、笔记本电脑、数码相机、电子相框等终端提供广播式手持电视服务,不仅适合现代人的生活节奏,还能满足移动人群接收广播电视节目的需求。CMMB系统支持中央和地方相结合的运营体系,具备加密授权控制管理体系,支持统一标准和统一运营,支持用户全国漫游。它有别于3G手机电视,两者技术模式不同,前者用的是广播网,后者用的是电信网,这就决定了CMMB手机电视在有效覆盖区域内,即使大量的用户同时收看,其画面质量和流畅度不受任何影响,且资费较低。本次展会也恰逢广州亚运会盛大召开,手持电视/

科普研究:三网融合与中国科普电视的新生

中国电视一直辜负着广大公众的期望,没有很好承担起普及科学的社会责任。2000年,科技界和知识界曾经做过一次可贵的努力,呼吁由中国科协牵头,筹建一个专门的科技电视台。但尽管做到了人大提案、媒体推动,直到副总理批示,最终却落得功败垂成。许多有识之士至今仍耿耿于怀。十年过去了,社会实践证明,中国科普错失了一次宝贵的机遇。和十年前相比,世界已经发生了炫目的变化。电视开始从峰巅回落,互联网却扶摇直上,以至于把历史推进到“网络时代”。如果说电视台曾经是电视节目送达受众的唯一渠道,今天的互联网上却汹涌着视频的洪流。一个YouTube网站,随时有数百万人盘桓流连,每天播放20亿条视频,每分钟上传35小时电视节

北京电信成功承建国内首个云计算科普网站

中国电信北京公司(以下简称北京电信)近日透露,由其协助北京市科协主办的国内首个大型公益性科普门户网站运行成功,这是国内首个采用云计算技术建设的大型公益网站。“蝌蚪五线谱”网站(www.kedo.gov.cn)是由北京市政府投资建设、北京市科学技术协会主办的大型公益性科普网站,主要面向公众特别是青少年提供优质网络科学文化服务。网站以互联网为平台,运用信息技术和多媒体技术,整合开发优质网络科普资源,为公众提供公益性科普文化服务,提高公众科学素质。该网站提供了科技资讯、百科问答、科学故事、探索解密、科普资源、北京特色、互动社区等多种形式的科普信息,数据量大,访问速度快,深受网民喜爱。同时,该网站还提

科普知识:关于 4K 电视的关注点

索尼举行新品发布会后,今天索尼适时组织了媒体参观其高清影视技术学院(HD Academy),系统地介绍 4K 技术,加强外界对其先进 4K 技...