Android ';墙时间';和';线程时间';在';OpenGL ES的跟踪器';在DDMS中
在DDMS中,跟踪OpenGL调用有两种时间,墙时间和线程时间,它们是什么意思?这两者的区别是什么 我只能看到大多数线程时间等于墙时间,而一些线程时间小于墙时间。Android ';墙时间';和';线程时间';在';OpenGL ES的跟踪器';在DDMS中,android,opengl-es,ddms,Android,Opengl Es,Ddms,在DDMS中,跟踪OpenGL调用有两种时间,墙时间和线程时间,它们是什么意思?这两者的区别是什么 我只能看到大多数线程时间等于墙时间,而一些线程时间小于墙时间。 这些名字很清楚。在谈到表演计时时,“挂钟时间”指的是实际经过的时间。它指的是你在挂钟上看到的时间(当然,分辨率非常高)。因此,在本例中,墙时间指的是从发出呼叫点到返回呼叫点之间经过的总时间 线程时间是计划渲染线程时经过的时间量。这一时间将始终最多相当于墙时间。如果没有调度其他线程,则相同;如果在处理调用时调度了其他线程,则相同 尽管您
这些名字很清楚。在谈到表演计时时,“挂钟时间”指的是实际经过的时间。它指的是你在挂钟上看到的时间(当然,分辨率非常高)。因此,在本例中,墙时间指的是从发出呼叫点到返回呼叫点之间经过的总时间 线程时间是计划渲染线程时经过的时间量。这一时间将始终最多相当于墙时间。如果没有调度其他线程,则相同;如果在处理调用时调度了其他线程,则相同
尽管您没有问过这个问题,但我还是要提到一些非常重要的事情,您在查看这些时间时需要注意:它们测量在驱动程序中处理API调用所花费的时间,其中主要包括更改内部状态和为GPU生成命令。由于OpenGL的异步特性,这些时间与GPU执行生成的命令所需的时间无关。例如,如果查看为
glpaurements()
调用显示的时间,它与GPU执行渲染所需的时间完全无关。因此,除非您感兴趣的是测量调用的CPU开销,否则这些时间基本上是无用的。谢谢Reto,所以“跟踪OpenGL ES”工具测量CPU生成图形命令的时间,而这些时间与在GPU中执行无关。我是这个工具的新手,我还没有找到很多关于它的文档,你能推荐一些关于它的阅读材料吗?我不知道有多少文档。实际跟踪集合的代码位于。要查看调用的时间收集位置,请参阅该目录中的gltrace_api.cpp。我将检查该文件。谢谢你的帮助:)