*Inheritance: TimestampQueryPool →* # WebGLTimestampQueryPool Manages a pool of WebGL timestamp queries for performance measurement. Handles creation, execution, and resolution of timer queries using WebGL extensions. ## Constructor ### new WebGLTimestampQueryPool( gl : WebGLRenderingContext | WebGL2RenderingContext, type : string, maxQueries : number ) Creates a new WebGL timestamp query pool. **gl** The WebGL context. **type** The type identifier for this query pool. **maxQueries** Maximum number of queries this pool can hold. Default is `2048`. ## Methods ### .allocateQueriesForContext( uid : string ) : number Allocates a pair of queries for a given render context. **uid** A unique identifier for the render context. **Overrides:** [TimestampQueryPool#allocateQueriesForContext](TimestampQueryPool.html#allocateQueriesForContext) **Returns:** The base offset for the allocated queries, or null if allocation failed. ### .beginQuery( uid : string ) Begins a timestamp query for the specified render context. **uid** A unique identifier for the render context. ### .dispose() Releases all resources held by this query pool. This includes deleting all query objects and clearing internal state. **Overrides:** [TimestampQueryPool#dispose](TimestampQueryPool.html#dispose) ### .endQuery( uid : string ) Ends the active timestamp query for the specified render context. **uid** A unique identifier for the render context. ### .resolveQueriesAsync() : Promise. (async) Asynchronously resolves all completed queries and returns the total duration. **Overrides:** [TimestampQueryPool#resolveQueriesAsync](TimestampQueryPool.html#resolveQueriesAsync) **Returns:** The total duration in milliseconds, or the last valid value if resolution fails. ### .resolveQuery( query : WebGLQuery ) : Promise. (async) Resolves a single query, checking for completion and disjoint operation. **query** The query object to resolve. **Returns:** The elapsed time in milliseconds. ## Source [src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js](https://github.com/mrdoob/three.js/blob/master/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js)