📄 threejs/Core/Renderers/WebGPUTimestampQueryPool

File: WebGPUTimestampQueryPool.md | Updated: 11/15/2025


title: WebGPUTimestampQueryPool category: Core layout: docs

WebGPUTimestampQueryPool

Manages a pool of WebGPU timestamp queries for performance measurement. Extends the base TimestampQueryPool to provide WebGPU-specific implementation.

Constructor

new WebGPUTimestampQueryPool( device : GPUDevice, type : string, maxQueries : number )

Creates a new WebGPU timestamp query pool.

device | The WebGPU device to create queries on.
---|---
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

Returns: The base offset for the allocated queries, or null if allocation failed.

.dispose() : Promise (async)

Dispose of the query pool.

Overrides: TimestampQueryPool#dispose

Returns: A Promise that resolves when the dispose has been executed.

.resolveQueriesAsync() : Promise.<number> (async)

Asynchronously resolves all pending queries and returns the total duration. If there's already a pending resolve operation, returns that promise instead.

Overrides: TimestampQueryPool#resolveQueriesAsync

Returns: The total duration in milliseconds, or the last valid value if resolution fails.

Source

src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js