DDMS中“OpenGL ES的跟踪器”中的“Wall Time”和“Thread Time”之间有什么区别

时间:2014-08-12 03:52:55

标签: android opengl-es ddms

DDMS中的Trace OpenGL调用有两种情况, Wall Times 线程时间,那么它们是什么意思?这两者有什么区别?

我只能看到大多数线程时间等于壁垒时间,而一些线程时间小于壁垒时间。 enter image description here

1 个答案:

答案 0 :(得分:3)

名字使其相当清楚。在谈论性能时间时,"挂钟时间"是指经过的实际时间。它指的是您在挂钟上看到的时间(当然,分辨率非常高)。因此,在这种情况下,挂起时间指的是在调用点和调用返回点之间传递的总时间。

线程时间是在计划呈现线程时传递的时间量。此时间总是最多 Wall Time 。如果没有安排其他线程,它将是相同的,如果在处理调用时调度了其他线程,则会更少。

即使你没有提出这个问题,我仍然会提到在看这些时候你需要注意的一些非常重要的东西:它们衡量的是驾驶员在处理API调用,主要包括更改内部状态和为GPU生成命令。由于OpenGL的异步特性,这些时间与GPU执行生成的命令所需的时间无关。例如,如果您查看glDrawElements()调用显示的时间,则与GPU执行渲染所需的时间完全无关。因此,时间大多没用,恕我直言,除非你感兴趣的是测量呼叫的CPU开销。