@novorender/api / PointrateProfiler
Class: PointrateProfiler
Defined in: @novorender/src/core3d/benchmark/pointrate.ts:15
A basic GPU point rate profiler.
Constructors
Constructor
new PointrateProfiler(benchmark, shaders): PointrateProfiler;
Defined in: @novorender/src/core3d/benchmark/pointrate.ts:23
Parameters
Parameter | Type | Description |
---|---|---|
benchmark | Benchmark | The benchmark context to use. |
shaders | { fillrate : { fragmentShader : string ; vertexShader : string ; }; pointrate : { fragmentShader : string ; vertexShader : string ; }; } | The shader imports. |
shaders.fillrate | { fragmentShader : string ; vertexShader : string ; } | - |
shaders.fillrate.fragmentShader | string | - |
shaders.fillrate.vertexShader | string | - |
shaders.pointrate | { fragmentShader : string ; vertexShader : string ; } | - |
shaders.pointrate.fragmentShader | string | - |
shaders.pointrate.vertexShader | string | - |
Returns
PointrateProfiler
Methods
measure()
measure(): Promise<number>;
Defined in: @novorender/src/core3d/benchmark/pointrate.ts:41
Measure fill rate by rendering a series of noisy, semi-transparent point primitives.
Returns
Promise
<number
>
Primitive/point rate estimate in primitives/second.
Remarks
This test is quite inaccurate and does not match close to the nominal primitive/triangle rate of a GPU, particularly on tile based mobile GPUs. Points are being used instead of triangles since they more closely reflect the maximum theoretical primitive rate of most GPUs. The result should only serve as a rough estimate.
Properties
benchmark
readonly benchmark: Benchmark;
Defined in: @novorender/src/core3d/benchmark/pointrate.ts:25
The benchmark context.
program
readonly program: WebGLProgram;
Defined in: @novorender/src/core3d/benchmark/pointrate.ts:16
uniforms
readonly uniforms: object;
Defined in: @novorender/src/core3d/benchmark/pointrate.ts:17
Index Signature
[k: string]: null | WebGLUniformLocation