-->

什么是“SurfaceView”在systrace结果代表什么?(What does “Surfac

2019-10-30 10:52发布

在调查的游戏口吃问题,我发现bewteen eglSwapBuffer()从游戏和postFramebuffer()在SurfaceFlinger的,总有“SurfaceView”延迟0.5ms的,从到10ms,这似乎很随机的,不相关的CPU负载持续。 这究竟是什么代表? 它有什么用显示器的VSYNC点?

http://i.stack.imgur.com/n8MvG.png

Answer 1:

该行表示BufferQueue。 (在微量的可见部分中0或1)的元件的高度表示多少缓冲区存在于队列中。

在这种情况下,它正在你的SurfaceView表面呈现的图形缓冲区队列。 当你的应用程序调用eglSwapBuffers()它提交一个缓冲区队列。 当SurfaceFlinger的一个VSYNC信号醒来时,它锁存从队列缓冲区(如果可用),和复合材料为它下一次刷新。

更新:BufferQueues及其用途进行了详细描述这里 。 附录C中提到他们的systrace外观。



文章来源: What does “SurfaceView” represent in systrace result?