Class EXTTimerQuery
Applications can benefit from accurate timing information in a number of different ways. During application development, timing information can help identify application or driver bottlenecks. At run time, applications can use timing information to dynamically adjust the amount of detail in a scene to achieve constant frame rates. OpenGL implementations have historically provided little to no useful timing information. Applications can get some idea of timing by reading timers on the CPU, but these timers are not synchronized with the graphics rendering pipeline. Reading a CPU timer does not guarantee the completion of a potentially large amount of graphics work accumulated before the timer is read, and will thus produce wildly inaccurate results. glFinish() can be used to determine when previous rendering commands have been completed, but will idle the graphics pipeline and adversely affect application performance.
This extension provides a query mechanism that can be used to determine the amount of time it takes to fully complete a set of GL commands, and without stalling the rendering pipeline. It uses the query object mechanisms first introduced in the occlusion query extension, which allow time intervals to be polled asynchronously by the application.
Requires OpenGL 1.5
.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Accepted by thetarget
parameter of BeginQuery, EndQuery, and GetQueryiv. -
Method Summary
Modifier and TypeMethodDescriptionstatic long
glGetQueryObjecti64EXT
(int id, int pname) static void
glGetQueryObjecti64vEXT
(int id, int pname, long params) static void
glGetQueryObjecti64vEXT
(int id, int pname, long[] params) Array version of:GetQueryObjecti64vEXT
static void
glGetQueryObjecti64vEXT
(int id, int pname, LongBuffer params) static long
glGetQueryObjectui64EXT
(int id, int pname) static void
glGetQueryObjectui64vEXT
(int id, int pname, long params) static void
glGetQueryObjectui64vEXT
(int id, int pname, long[] params) Array version of:GetQueryObjectui64vEXT
static void
glGetQueryObjectui64vEXT
(int id, int pname, LongBuffer params) static void
nglGetQueryObjecti64vEXT
(int id, int pname, long params) static void
nglGetQueryObjectui64vEXT
(int id, int pname, long params)
-
Field Details
-
GL_TIME_ELAPSED_EXT
public static final int GL_TIME_ELAPSED_EXTAccepted by thetarget
parameter of BeginQuery, EndQuery, and GetQueryiv.- See Also:
-
-
Method Details
-
nglGetQueryObjecti64vEXT
public static void nglGetQueryObjecti64vEXT(int id, int pname, long params) -
glGetQueryObjecti64vEXT
-
glGetQueryObjecti64vEXT
public static void glGetQueryObjecti64vEXT(int id, int pname, long params) -
glGetQueryObjecti64EXT
public static long glGetQueryObjecti64EXT(int id, int pname) -
nglGetQueryObjectui64vEXT
public static void nglGetQueryObjectui64vEXT(int id, int pname, long params) -
glGetQueryObjectui64vEXT
-
glGetQueryObjectui64vEXT
public static void glGetQueryObjectui64vEXT(int id, int pname, long params) -
glGetQueryObjectui64EXT
public static long glGetQueryObjectui64EXT(int id, int pname) -
glGetQueryObjecti64vEXT
public static void glGetQueryObjecti64vEXT(int id, int pname, long[] params) Array version of:GetQueryObjecti64vEXT
-
glGetQueryObjectui64vEXT
public static void glGetQueryObjectui64vEXT(int id, int pname, long[] params) Array version of:GetQueryObjectui64vEXT
-