Android N VR代码简析

Android N VR代码简析

ID:42663804

大小:52.84 KB

页数:9页

时间:2019-09-19

Android N VR代码简析_第1页
Android N VR代码简析_第2页
Android N VR代码简析_第3页
Android N VR代码简析_第4页
Android N VR代码简析_第5页
资源描述:

《Android N VR代码简析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、AndroidNVR代码简析虽然Google早在2016的IO大会上就说DayDream会随着AndroidN发布,但是从AndroidN的前几个版本的代码来看,都是没有集成的,直到Android-7.0.0_r14这个版本,才可以看到DayDream的一些简单代码,跟之前预见的一样,DayDream跟三星的GearVR采用的是同样的架构,都分离出来一个单独的VRSDK,比如三星的OculusSDK,Google的GoogleVRSDK,应用基于他们的SDK开发应用程序,然后运行在支持这些SDK的Android系统上面。单独分离出一个SDK,除了方便应用开发者之外,主要的

2、目的是用来把VR的一些核心算法隐藏起来,比如用来减少延迟的ATW异步时间扭曲算法就是被封装在这里,是闭源不公开的,众所周知,在手机上面运行VR的时候一个最大的挑战就是延迟,当一副画面的延迟超过20MS,人就会感觉不舒服恶心,严重影响用户体验,一个好的VR产品都会尽量避免延迟。目前在MobileVR上主要有以下几种方式来减少延迟:1、硬件层面的优化·提升传感器的采样频率,减少刷新率与传感器频率的同步等待时间消耗。·提升传感器的精度,减少对采样数据进行稳定性过滤产生的延迟。·采用有线传输也有一部分原因是出于延迟的考虑。·屏幕使用OLED替代LCD,减少像素颜色切换的时间。·提

3、升屏幕刷新率,主流的屏幕是60Hz,那每帧就是16.67ms;如果提升到90Hz,那每帧就是11.11ms.·双GPU渲染,一个GPU负责左眼的画面,一个GPU负责右眼的渲染。2、软件层面的优化·多分辨率渲染,VR画面的中心部分可以高分辨率渲染,周边部分低分辨率渲染·上面提过的ATW算法,一个具有高优先级的线程,以一定的帧率,不断的根据Android渲染出来的画面生成一个新的画面,然后投递到屏幕。·FrontBufferRender,即只有一个renderbuffer,应用赶在下一个屏幕刷新周期到来之前把画面更新到这个renderbuffer,然后屏幕使用这个render

4、buffer更新显示内容,这个需要修改GPU和Display的Driver部分代码。AndroidN的DayDream对硬件和软件的一些需求,其实都是根据上面这些优化手段提出来的,具体到AndroidN的代码来说,它提供了一个SDK,应该是解决了ATW算法和多分辨率渲染等优化问题,然后新增了一个系统服务VrManagerService和vrHAL层,应用通过VrManagerService来设置系统进入VR模式,VrManagerService又是通过vrHAL层去实现具体模式的切换的。ImplementthisHALtoreceivecallbackswhenavirt

5、ualreality(VR)applicationisbeingused.VRapplicationscharacteristicallyhaveanumberofspecialdisplayandperformancerequirements,including:·LowsensorlatencyTotalend-to-endlatencyfromtheIMU,accelerometer,andgyrotoanapplication-visiblecallbackmustbeextremelylow(<5mstypically).ThisisrequiredforHIF

6、Isensorsupport.·LowdisplaylatencyTotalend-to-endlatencyfromtheGPUdrawcallstotheactualdisplayupdatemustbeaslowaspossible.ThisisachievedbyusingSurfaceFlingerinasingle-bufferedmode,andassuringthatdrawcallsaresynchronizedwiththedisplayscanoutcorrectly.ThisbehaviorisexposedviaanEGLextensiontoa

7、pplications.SeebelowfortheEGLextensionsneededforthis.·Low-persistencedisplayDisplaypersistencesettingsmustbesetaslowaspossiblewhilestillmaintainingareasonablebrightness.Foratypicaldisplayrunningat60Hz,pixelsshouldbeilluminatedfor<=3.5mstobeconsideredlow-persistence.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。