• / 9
  • 下载费用:10 金币  

Android N VR代码简析.doc

关 键 词:
Android N VR代码简析.doc
资源描述:
Android N VR 代码简析虽然 Google 早在 2016 的 IO 大会上就说 DayDream 会随着 Android N 发布,但是从Android N 的前几个版本的代码来看,都是没有集成的,直到 Android-7.0.0_r14 这个版本,才可以看到 DayDream 的一些简单代码,跟之前预见的一样,DayDream 跟三星的GearVR 采用的是同样的架构,都分离出来一个单独的 VR SDK,比如三星的 Oculus SDK,Google 的 Google VR SDK,应用基于他们的 SDK 开发应用程序,然后运行在支持这些 SDK 的 Android 系统上面。单独分离出一个 SDK,除了方便应用开发者之外,主要的目的是用来把 VR 的一些核心算法隐藏起来,比如用来减少延迟的 ATW 异步时间扭曲算法就是被封装在这里,是闭源不公开的,众所周知,在手机上面运行 VR 的时候一个最大的挑战就是延迟,当一副画面的延迟超过 20MS,人就会感觉不舒服恶心,严重影响用户体验,一个好的 VR 产品都会尽量避免延迟。目前在 Mobile VR 上主要有以下几种方式来减少延迟:1、 硬件层面的优化 提升传感器的采样频率,减少刷新率与传感器频率的同步等待时间消耗。 提升传感器的精度, 减少对采样数据进行稳定性过滤产生的延迟。 采用有线传输也有一部分原因是出于延迟的考虑。 屏幕使用 OLED 替代 LCD, 减少像素颜色切换的时间。 提升屏幕刷新率, 主流的屏幕是 60Hz, 那每帧就是 16.67ms; 如果提升到 90Hz, 那每帧就是 11.11ms. 双 GPU 渲染,一个 GPU 负责左眼的画面,一个 GPU 负责右眼的渲染。2、 软件层面的优化 多分辨率渲染,VR 画面的中心部分可以高分辨率渲染,周边部分低分辨率渲染 上面提过的 ATW 算法,一个具有高优先级的线程,以一定的帧率,不断的根据Android 渲染出来的画面生成一个新的画面,然后投递到屏幕。 Front Buffer Render,即只有一个 render buffer,应用赶在下一个屏幕刷新周期到来之前把画面更新到这个 render buffer,然后屏幕使用这个 render buffer 更新显示内容,这个需要修改 GPU 和 Display 的 Driver 部分代码。Android N 的 DayDream 对硬件和软件的一些需求,其实都是根据上面这些优化手段提出来的,具体到 Android N 的代码来说,它提供了一个 SDK,应该是解决了 ATW 算法和多分辨率渲染等优化问题,然后新增了一个系统服务 VrManagerService 和 vr HAL 层, 应用通过 VrManagerService 来设置系统进入 VR 模式, VrManagerService 又是通过 vr HAL 层去实现具体模式的切换的。Implement this HAL to receive callbacks when a virtual reality (VR)application is being used. VR applications characteristically have a number of special display and performance requirements, including: Low sensor latencyTotal end-to-end latency from the IMU, accelerometer,and gyro to an application-visible callback must be extremely low ( listeners = new ArrayList();listeners.add(this);mComponentObserver = EnabledComponentsObserver.build(mContext, handler,Settings.Secure.ENABLED_VR_LISTENERS, looper,android.Manifest.permission.BIND_VR_LISTENER_SERVICE,VrListenerService.SERVICE_INTERFACE, mLock, listeners);mComponentObserver.rebuildAll();}}}
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:Android N VR代码简析.doc
链接地址:https://www.weizhuannet.com/p-9828282.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

微传网博客

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开