Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ';墙时间';和';线程时间';在';OpenGL ES的跟踪器';在DDMS中_Android_Opengl Es_Ddms - Fatal编程技术网

Android ';墙时间';和';线程时间';在';OpenGL ES的跟踪器';在DDMS中

Android ';墙时间';和';线程时间';在';OpenGL ES的跟踪器';在DDMS中,android,opengl-es,ddms,Android,Opengl Es,Ddms,在DDMS中,跟踪OpenGL调用有两种时间,墙时间和线程时间,它们是什么意思?这两者的区别是什么 我只能看到大多数线程时间等于墙时间,而一些线程时间小于墙时间。 这些名字很清楚。在谈到表演计时时,“挂钟时间”指的是实际经过的时间。它指的是你在挂钟上看到的时间(当然,分辨率非常高)。因此,在本例中,墙时间指的是从发出呼叫点到返回呼叫点之间经过的总时间 线程时间是计划渲染线程时经过的时间量。这一时间将始终最多相当于墙时间。如果没有调度其他线程,则相同;如果在处理调用时调度了其他线程,则相同 尽管您

在DDMS中,跟踪OpenGL调用有两种时间,墙时间和线程时间,它们是什么意思?这两者的区别是什么

我只能看到大多数线程时间等于墙时间,而一些线程时间小于墙时间。

这些名字很清楚。在谈到表演计时时,“挂钟时间”指的是实际经过的时间。它指的是你在挂钟上看到的时间(当然,分辨率非常高)。因此,在本例中,墙时间指的是从发出呼叫点到返回呼叫点之间经过的总时间

线程时间是计划渲染线程时经过的时间量。这一时间将始终最多相当于墙时间。如果没有调度其他线程,则相同;如果在处理调用时调度了其他线程,则相同


尽管您没有问过这个问题,但我还是要提到一些非常重要的事情,您在查看这些时间时需要注意:它们测量在驱动程序中处理API调用所花费的时间,其中主要包括更改内部状态和为GPU生成命令。由于OpenGL的异步特性,这些时间与GPU执行生成的命令所需的时间无关。例如,如果查看为
glpaurements()
调用显示的时间,它与GPU执行渲染所需的时间完全无关。因此,除非您感兴趣的是测量调用的CPU开销,否则这些时间基本上是无用的。

谢谢Reto,所以“跟踪OpenGL ES”工具测量CPU生成图形命令的时间,而这些时间与在GPU中执行无关。我是这个工具的新手,我还没有找到很多关于它的文档,你能推荐一些关于它的阅读材料吗?我不知道有多少文档。实际跟踪集合的代码位于。要查看调用的时间收集位置,请参阅该目录中的gltrace_api.cpp。我将检查该文件。谢谢你的帮助:)