Both of them can be used to get time elapsed in nanoseconds. The former uses scoped glBeginQuery/glEndQuery. Is that the difference?
问问题
2576 次
2 回答
5
这就是区别吗?
你说这好像是一些细微的差别。
GL_TIME_ELAPSED
提供处理查询范围内的命令所花费的 GPU 时间(即:)glBegin/EndQuery
。GL_TIMESTAMP
算不了什么。它只是获得 GPU 时间,以纳秒为单位,因为......嗯,一些东西。开始时间是实现定义的,但它总是在增加(除非它溢出)。
换句话说,GL_TIME_ELAPSED
它就像一个秒表:你开始和停止之间的时间。这是一个三角洲。GL_TIMESTAMP
就像看时钟:它总是在增加。这是一个绝对时间,但它与实现相关的东西有关。
于 2015-12-29T00:58:15.350 回答
-3
正如您所指出的,它们在功能上是相同的,除了使用glBeginQuery()
/glEndQuery()
和之间的区别。glQueryCounter()
请参阅: ARB_timer_query 规范的示例部分。
于 2014-06-27T09:25:15.697 回答