Class EXTDisjointTimerQuery
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 GLES 2.0
.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Accepted by thepname
parameter of GetQueryivEXT.static final int
Accepted by thevalue
parameter of GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.static final int
Accepted by thepname
parameter of GetQueryivEXT.static final int
Accepted by thepname
parameter of GetQueryObjectivEXT, GetQueryObjectuivEXT, GetQueryObjecti64vEXT, and GetQueryObjectui64vEXT.static final int
Accepted by thepname
parameter of GetQueryObjectivEXT, GetQueryObjectuivEXT, GetQueryObjecti64vEXT, and GetQueryObjectui64vEXT.static final int
Accepted by thetarget
parameter of BeginQueryEXT, EndQueryEXT, and GetQueryivEXT.static final int
Accepted by thetarget
parameter of GetQueryiv and QueryCounter. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
glBeginQueryEXT
(int target, int id) static void
glDeleteQueriesEXT
(int id) static void
glDeleteQueriesEXT
(int[] ids) Array version of:DeleteQueriesEXT
static void
static void
glEndQueryEXT
(int target) static int
static void
glGenQueriesEXT
(int[] ids) Array version of:GenQueriesEXT
static void
glGenQueriesEXT
(IntBuffer ids) static long
glGetInteger64EXT
(int pname) static void
glGetInteger64vEXT
(int pname, long[] data) Array version of:GetInteger64vEXT
static void
glGetInteger64vEXT
(int pname, LongBuffer data) static int
glGetQueryiEXT
(int target, int pname) static void
glGetQueryivEXT
(int target, int pname, int[] params) Array version of:GetQueryivEXT
static void
glGetQueryivEXT
(int target, int pname, IntBuffer params) static long
glGetQueryObjecti64EXT
(int id, int pname) static void
glGetQueryObjecti64vEXT
(int id, int pname, long[] params) Array version of:GetQueryObjecti64vEXT
static void
glGetQueryObjecti64vEXT
(int id, int pname, LongBuffer params) static int
glGetQueryObjectiEXT
(int id, int pname) static void
glGetQueryObjectivEXT
(int id, int pname, int[] params) Array version of:GetQueryObjectivEXT
static void
glGetQueryObjectivEXT
(int id, int pname, IntBuffer params) static long
glGetQueryObjectui64EXT
(int id, int pname) static void
glGetQueryObjectui64vEXT
(int id, int pname, long[] params) Array version of:GetQueryObjectui64vEXT
static void
glGetQueryObjectui64vEXT
(int id, int pname, LongBuffer params) static int
glGetQueryObjectuiEXT
(int id, int pname) static void
glGetQueryObjectuivEXT
(int id, int pname, int[] params) Array version of:GetQueryObjectuivEXT
static void
glGetQueryObjectuivEXT
(int id, int pname, IntBuffer params) static boolean
glIsQueryEXT
(int id) static void
glQueryCounterEXT
(int id, int target) static void
nglDeleteQueriesEXT
(int n, long ids) static void
nglGenQueriesEXT
(int n, long ids) static void
nglGetInteger64vEXT
(int pname, long data) static void
nglGetQueryivEXT
(int target, int pname, long params) static void
nglGetQueryObjecti64vEXT
(int id, int pname, long params) static void
nglGetQueryObjectivEXT
(int id, int pname, long params) static void
nglGetQueryObjectui64vEXT
(int id, int pname, long params) static void
nglGetQueryObjectuivEXT
(int id, int pname, long params)
-
Field Details
-
GL_QUERY_COUNTER_BITS_EXT
public static final int GL_QUERY_COUNTER_BITS_EXTAccepted by thepname
parameter of GetQueryivEXT.- See Also:
-
GL_CURRENT_QUERY_EXT
public static final int GL_CURRENT_QUERY_EXTAccepted by thepname
parameter of GetQueryivEXT.- See Also:
-
GL_QUERY_RESULT_EXT
public static final int GL_QUERY_RESULT_EXTAccepted by thepname
parameter of GetQueryObjectivEXT, GetQueryObjectuivEXT, GetQueryObjecti64vEXT, and GetQueryObjectui64vEXT.- See Also:
-
GL_QUERY_RESULT_AVAILABLE_EXT
public static final int GL_QUERY_RESULT_AVAILABLE_EXTAccepted by thepname
parameter of GetQueryObjectivEXT, GetQueryObjectuivEXT, GetQueryObjecti64vEXT, and GetQueryObjectui64vEXT.- See Also:
-
GL_TIME_ELAPSED_EXT
public static final int GL_TIME_ELAPSED_EXTAccepted by thetarget
parameter of BeginQueryEXT, EndQueryEXT, and GetQueryivEXT.- See Also:
-
GL_TIMESTAMP_EXT
public static final int GL_TIMESTAMP_EXTAccepted by thetarget
parameter of GetQueryiv and QueryCounter. Accepted by thevalue
parameter of GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.- See Also:
-
GL_GPU_DISJOINT_EXT
public static final int GL_GPU_DISJOINT_EXTAccepted by thevalue
parameter of GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.- See Also:
-
-
Method Details
-
nglGenQueriesEXT
public static void nglGenQueriesEXT(int n, long ids) -
glGenQueriesEXT
-
glGenQueriesEXT
public static int glGenQueriesEXT() -
nglDeleteQueriesEXT
public static void nglDeleteQueriesEXT(int n, long ids) -
glDeleteQueriesEXT
-
glDeleteQueriesEXT
public static void glDeleteQueriesEXT(int id) -
glIsQueryEXT
public static boolean glIsQueryEXT(int id) -
glBeginQueryEXT
public static void glBeginQueryEXT(int target, int id) -
glEndQueryEXT
public static void glEndQueryEXT(int target) -
nglGetQueryivEXT
public static void nglGetQueryivEXT(int target, int pname, long params) -
glGetQueryivEXT
-
glGetQueryiEXT
public static int glGetQueryiEXT(int target, int pname) -
nglGetQueryObjectuivEXT
public static void nglGetQueryObjectuivEXT(int id, int pname, long params) -
glGetQueryObjectuivEXT
-
glGetQueryObjectuiEXT
public static int glGetQueryObjectuiEXT(int id, int pname) -
glQueryCounterEXT
public static void glQueryCounterEXT(int id, int target) -
nglGetQueryObjectivEXT
public static void nglGetQueryObjectivEXT(int id, int pname, long params) -
glGetQueryObjectivEXT
-
glGetQueryObjectiEXT
public static int glGetQueryObjectiEXT(int id, int pname) -
nglGetQueryObjecti64vEXT
public static void nglGetQueryObjecti64vEXT(int id, int pname, long params) -
glGetQueryObjecti64vEXT
-
glGetQueryObjecti64EXT
public static long glGetQueryObjecti64EXT(int id, int pname) -
nglGetQueryObjectui64vEXT
public static void nglGetQueryObjectui64vEXT(int id, int pname, long params) -
glGetQueryObjectui64vEXT
-
glGetQueryObjectui64EXT
public static long glGetQueryObjectui64EXT(int id, int pname) -
nglGetInteger64vEXT
public static void nglGetInteger64vEXT(int pname, long data) -
glGetInteger64vEXT
-
glGetInteger64EXT
public static long glGetInteger64EXT(int pname) -
glGenQueriesEXT
public static void glGenQueriesEXT(int[] ids) Array version of:GenQueriesEXT
-
glDeleteQueriesEXT
public static void glDeleteQueriesEXT(int[] ids) Array version of:DeleteQueriesEXT
-
glGetQueryivEXT
public static void glGetQueryivEXT(int target, int pname, int[] params) Array version of:GetQueryivEXT
-
glGetQueryObjectuivEXT
public static void glGetQueryObjectuivEXT(int id, int pname, int[] params) Array version of:GetQueryObjectuivEXT
-
glGetQueryObjectivEXT
public static void glGetQueryObjectivEXT(int id, int pname, int[] params) Array version of:GetQueryObjectivEXT
-
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
-
glGetInteger64vEXT
public static void glGetInteger64vEXT(int pname, long[] data) Array version of:GetInteger64vEXT
-