Tor*_*nce 8 android opengl-es ddms
DDMS 中 Trace OpenGL 调用有两种时间,Wall Times和Thread Time,那么它们是什么意思呢?两者之间有什么区别?
我只能看到大多数线程时间等于挂墙时间,而一些线程时间小于挂墙时间。

这些名称使其相当清楚。在谈论性能计时时,“挂钟时间”是指经过的实际时间。它指的是您在挂钟上看到的时间(当然分辨率非常高)。因此,在这种情况下,Wall Time是指从发出调用点到调用返回点之间经过的总时间。
线程时间是调度渲染线程时经过的时间量。这个时间最多和Wall Time一样多。如果没有其他线程被调度,它将是相同的,如果在处理调用时调度了其他线程,则更少。
即使你没有问这个问题,我仍然会提到一些你在查看这些时间时需要注意的非常重要的事情:它们衡量驱动程序处理 API 调用所花费的时间,其中主要包括更改内部状态并为 GPU 生成命令。由于 OpenGL 的异步特性,这些时间与 GPU 执行生成命令所需的时间无关。例如,如果您查看glDrawElements()调用显示的时间,它与 GPU 执行渲染所需的时间完全无关。因此,恕我直言,时间基本上是无用的,除非您感兴趣的是测量调用的 CPU 开销。