专栏首页IT大咖说小米:VR产业中Android的现状与挑战

小米:VR产业中Android的现状与挑战

内容来源:2017年11月16日,小米高级研发经理李政在“droidcon 北京2017安卓技术大会”进行《移动VR的现状和展望》演讲分享。IT 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。

阅读字数:2575 | 7分钟阅读

摘要

我们将探讨虚拟现实产业中Android的现状,以及当前VR设备所面临的瓶颈,如何通过技术层去一一解决,未来的发展中又面临着那些挑战。

嘉宾演讲视频及PPT回顾:http://suo.im/2LJpfn

概念区分

为了便于大家区分VR、AR、MR,这里我通过三部电影加以说明。

黑客帝国中的世界就是一个虚拟世界,所有的一切模仿现实模拟出来的,这就是我们说的虚拟现实,也就是VR。

钢铁侠中当主角穿上装备后,透过头盔所显示的不仅仅是所看到的现实场景,还有对所见到的事物的分析,这里的重点就是对真实世界信息的叠加,它就是AR(增强现实)。

而王牌特工中某一个场景——一堆人聚集在一起开会,这里面不仅有真实的人物,还有通过设备投影过来的人物头像,这就是真实与虚拟世界的混合,也就是MR(混合现实)。

虚拟现实现状

这张图是国外的一家公司发布的关于新兴技术成熟度曲线,每年都会更新。

每一项新兴技术在向上发展的过程中都会有一个泡沫期,当泡沫破裂的时候会跌倒谷底,随着是推移又会慢慢发展,最终走向大众的视野为用户所用。

我们可以从图中看到虚拟现实处在一个缓慢的爬坡阶段,标注的浅蓝色表示这项技术在3-5年后才能发展成熟。

上图表格数据是来自RDC,可以看到2016年整个VR的出货量大概是900多万台,而2017年相对来说还有着提升,需要注意的是这里的数据不包含类似CardBoard的简易版的VR。

在所有的VR设备中移动VR占比达到了67%,另外的33%是需要连接到主机和pc端使用的设备。而在移动VR中,由于苹果并没有准备相应的VR环境,所以目前的移动VR大多是安卓设备上的。

这张移动VR趋势图来自unity引擎,VR中大量的应用都是通过该引擎制作的。从图中我们看到VR的发展趋势是一直往上的。

我们来对比下整个智能手机的发展。在2009年到2010年智能手机保有量增长了42%,内存曾了74%,而移动VR设备在2016年到2017年增长了178%,应用增长了184%。

关键指标

VR设备存在一个核心的痛点,就是使用的过程中会使人眩晕。这里牵扯到了一项叫做Motion-To-Photon Latency的技术,当用户通过头部转动调整视野的时候,转动的数据会通过USB传输给游戏引擎,经过渲染后由显示器输出,然后进行像素点切换,最后用户就会看到新的图像。这整个过程存在一个物理像素点的延时问题,一般20毫秒内才不会使人感到眩晕。

优化

我们来详细看下整个过程中的时间耗费,首先头部转动数据传递给系统需要耗费1毫秒,接着游戏引擎通过数据对图像进行重新渲染大概是2-5毫秒,这里要进行优化的话,其实和传统的3D游戏优化方式没什么区别。

上面的过程通过传统的方式就可以进行优化,而显示器的输入部分则需要VR的核心技术来帮助它进行优化。

Triple-Buffering和Single-Buffering

为了更好的了解显示器的输出,这里展开看下Triple-Buffering和Single-Buffering的区别。

安卓的整个渲染系统用的就是Triple-buffering,它是为了解决动画流畅性的问题, 而在处理延迟问题方面明显不足。游戏引擎所渲染的每一帧Triple-buffering都是写到Buffer中的,只有当GPU当中的Buffer被物理显示屏扫描到后才能将后面Buffer换到前面。对于以一个普通的60HZ的手机显示屏来说扫描一帧的时间就是16.67毫秒,而要完全显示新的图像则达到了30多毫秒。

由于Triple-buffering无法满足延时的要求,所以就需要Single-buffering出场了。这是一项比较早期的技术了,之所以被抛弃,是因为Single-buffering存在画面撕裂的问题。

Single-buffering的buffer读写是同步进行的,当一部分数据还没有读取完的时候,新的数据就写了进行,下次读取到的就是新的数据了,这也就是画面撕裂的原因。

为了应对这一问题,安卓系统采用了一种严格对实的策略。普通的手机屏幕是从上到下从左到右的点亮过程,所以左下角的点是最先被扫描到的,当扫描到8.34毫秒的时候,左半屏的图像已经被扫描完,并且这部分的buffer可以不用去读取了,这个时候就要去写GPU内左半屏的buffer。到16.67毫秒的时候,右半屏执行同样的过程。这样交替扫描就解决了撕裂的问题。

Asynchronous Timewarp

还有一个问题,就是如何做到每一帧延迟都小于20毫秒,拿游戏中的现象来说,就掉帧问题。由此引出了VR里面的一个核心技术Asynchronous Timewarp,其原理就在于使用上一帧的图像来替换当前帧,当然上一帧的图像需要通过相机的相应的偏移来抽出,当然在3D的情况可能会出现一些透视问题,不过由于这一技术只是在预算时间不够的情况下才使用,造成的影响不会太大。

现在来看下像素点切换,OLED的屏幕进行像素点切换的时间是0.1毫秒,而LCD需要20毫秒,所以现在比较好的VR设备都会选择OLED的屏幕。

未来的展望

硬件的改进

一块屏幕有362pi就被定义为视网膜屏,但是如果想要在VR中获得视网膜屏的现实效果,那么屏幕就需要达到2292ppi左右。不光是屏幕的需要提升,为了匹配这块屏幕其它的GPU、CUP等硬件同样需要提升。

输入输出创新

常见的VR设备会提供手柄类的外设进行输出,通过视觉和听觉上的反馈进行输出,目前还有些厂商制造出了能够提供力反馈的手套,这样进一步发展的话用户就能获得更优的体验。

内容的丰富

目前来说VR应用的绝对值还不是很多,这方面就只能依靠众多的开发者打造更优质的内容。

今天的分享就到这里,喜欢本次分享请给我点赞~谢谢大家!有什么问题可以在评论区讨论。

本文分享自微信公众号 - IT大咖说(itdakashuo),作者:李政

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-04-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何提高Linux安装软件的速度?给CentOS8配置DNF/YUM国内下载源

    CentOS Linux长期以来一直存在一个不和谐的问题:Python2和Python3如何共存?

    IT大咖说
  • 一款比phpmyadmin更好用的WEB数据库管理工具

    最近宝塔爆出的phpmyadmin未鉴权漏洞,吓得我赶紧删了phpmyadmin。不过工作需求又需要一款管理数据库的工具。思来想去还是adminer适合我。

    IT大咖说
  • 中国移动:Kubernetes在PaaS建设和NFV领域中的应用

    摘要 为了承载IT支撑系统、大数据、IoT 等应用的 PaaS 平台中,从技术架构上对 Kubernetes 的考虑和分析,并与现有的 OpenStack 技术...

    IT大咖说
  • 全志联手Nibiru,推出可量产VR视频一体机解决方案

    镁客网
  • 《谷歌地球VR》迎来全新更新,新增大量街景图像

    VRPinea
  • 镁客网每周硬科技领域投融资汇总(1.8—1.14)

    镁客网
  • 欲牵头构建VR生态圈的HTC,胜算几何?

    VRPinea
  • 小派科技CEO任攀:坚定地看好VR线下市场,VRStar将争做“国际一流”的VR乐园

    临近年底,VRPinea例行的厂商巡访/回访已正式开启,本文为第三篇年终巡访/回访稿件(上一篇可戳:HADO总经理Kent Lim:将AR与体育运动结合,打造“...

    VRPinea
  • 职场软实力难提升?VR培训平台BODYSWAPS让上司“变”员工

    对于目前的员工来说,单单只拥有职业技能已经不能满足职场需求了。随着人才的大量涌现、竞争压力的徒增,求职人员如果能在有强大技术背景的基础上,再获得一定的软实力,其...

    VRPinea
  • 您该戒烟了!不妨试一试MindCotine推出的VR应用

    镁客网

扫码关注云+社区

领取腾讯云代金券