安卓的标准OpenGL ES实现了三倍缓冲窗口表面。
三倍缓冲增加了延迟为增加平滑,它是一个可争议的权衡为大多数应用,但是是清晰的坏的对VR。一个安卓应用猛烈的加载GPU和从不聚焦一个同步可以有超过50ms的时间延迟eglSwapBuffers()被调用用来时间像素开始变化在屏幕上,甚至运行在60FPS。
安卓应该可能提供一个严格的双缓冲模式,和可能的一个交换撕裂选项,但是它是一个悲哀的事实如果你呈现一个缓冲区到系统,这是一个好的变换它不会做你希望立即实现的。最好的例子是没有缓冲链--一个单缓冲你能渲染当它被屏幕扫描时。为了避免撕裂线,它忙于应用去只绘制在窗口区域(它们不会被当前扫描)。
移动显示是内部的扫描在肖像模式从顶到底当home按钮在底部时,或者左到右当设备在头戴中。VrApi接收时间戳事件在显示垂直同步上,使用它们来判定那儿的视频光栅正在被扫描在一个给定的时间。当前的代码等待直到右眼正在被显示来歪曲左眼,随后等待直到左眼正在被显示来歪曲右眼。这给了一个只有8ms的延迟在第一个像素被变换在屏幕上之前。它花费8ms来显示扫描屏幕的一半,所以延迟会变化因为很多通过每个眼睛。