Class EXTDisjointTimerQuery

java.lang.Object
org.lwjgl.opengles.EXTDisjointTimerQuery

public class EXTDisjointTimerQuery extends Object
Native bindings to the EXT_disjoint_timer_query extension.

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 Details

    • GL_QUERY_COUNTER_BITS_EXT

      public static final int GL_QUERY_COUNTER_BITS_EXT
      Accepted by the pname parameter of GetQueryivEXT.
      See Also:
    • GL_CURRENT_QUERY_EXT

      public static final int GL_CURRENT_QUERY_EXT
      Accepted by the pname parameter of GetQueryivEXT.
      See Also:
    • GL_QUERY_RESULT_EXT

      public static final int GL_QUERY_RESULT_EXT
      Accepted by the pname parameter of GetQueryObjectivEXT, GetQueryObjectuivEXT, GetQueryObjecti64vEXT, and GetQueryObjectui64vEXT.
      See Also:
    • GL_QUERY_RESULT_AVAILABLE_EXT

      public static final int GL_QUERY_RESULT_AVAILABLE_EXT
      Accepted by the pname parameter of GetQueryObjectivEXT, GetQueryObjectuivEXT, GetQueryObjecti64vEXT, and GetQueryObjectui64vEXT.
      See Also:
    • GL_TIME_ELAPSED_EXT

      public static final int GL_TIME_ELAPSED_EXT
      Accepted by the target parameter of BeginQueryEXT, EndQueryEXT, and GetQueryivEXT.
      See Also:
    • GL_TIMESTAMP_EXT

      public static final int GL_TIMESTAMP_EXT
      Accepted by the target parameter of GetQueryiv and QueryCounter. Accepted by the value parameter of GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.
      See Also:
    • GL_GPU_DISJOINT_EXT

      public static final int GL_GPU_DISJOINT_EXT
      Accepted by the value parameter of GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.
      See Also:
  • Method Details

    • nglGenQueriesEXT

      public static void nglGenQueriesEXT(int n, long ids)
    • glGenQueriesEXT

      public static void glGenQueriesEXT(IntBuffer ids)
    • glGenQueriesEXT

      public static int glGenQueriesEXT()
    • nglDeleteQueriesEXT

      public static void nglDeleteQueriesEXT(int n, long ids)
    • glDeleteQueriesEXT

      public static void glDeleteQueriesEXT(IntBuffer ids)
    • 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

      public static void glGetQueryivEXT(int target, int pname, IntBuffer params)
    • glGetQueryiEXT

      public static int glGetQueryiEXT(int target, int pname)
    • nglGetQueryObjectuivEXT

      public static void nglGetQueryObjectuivEXT(int id, int pname, long params)
    • glGetQueryObjectuivEXT

      public static void glGetQueryObjectuivEXT(int id, int pname, IntBuffer params)
    • 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

      public static void glGetQueryObjectivEXT(int id, int pname, IntBuffer params)
    • glGetQueryObjectiEXT

      public static int glGetQueryObjectiEXT(int id, int pname)
    • nglGetQueryObjecti64vEXT

      public static void nglGetQueryObjecti64vEXT(int id, int pname, long params)
    • glGetQueryObjecti64vEXT

      public static void glGetQueryObjecti64vEXT(int id, int pname, LongBuffer params)
    • glGetQueryObjecti64EXT

      public static long glGetQueryObjecti64EXT(int id, int pname)
    • nglGetQueryObjectui64vEXT

      public static void nglGetQueryObjectui64vEXT(int id, int pname, long params)
    • glGetQueryObjectui64vEXT

      public static void glGetQueryObjectui64vEXT(int id, int pname, LongBuffer params)
    • glGetQueryObjectui64EXT

      public static long glGetQueryObjectui64EXT(int id, int pname)
    • nglGetInteger64vEXT

      public static void nglGetInteger64vEXT(int pname, long data)
    • glGetInteger64vEXT

      public static void glGetInteger64vEXT(int pname, LongBuffer data)
    • 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