THREE.JS / FOUNDATIONS 148

Measure the matrix.

A fixed scene makes backend and quality changes comparable. Run the same load ladder, capture timing and renderer evidence, then repeat on the companion backend URL before drawing conclusions.

Initializing Preparing renderer

Preparing the fixed actor pool and quality matrix...

scenario
-
visible
-
quality
-
sensor
-
live p95
-
draws
-
Matrix runner48 measured frames / row
Open forced WebGL2

The runner warms each row before collecting a fixed sample. GPU timing is used when the backend exposes timestamp-query; CPU submission is the labeled fallback.

Capability snapshotwaiting
coordinate system-
drawing buffer-
max texture-
color attachments-
timestamp-query-
tracked render targets-
Measured rowsno run yet

Rows stay empty until the fixed matrix is run.

scenariobackendsensorp95drawsRTs
Ownership boundarywaiting
pooled actor meshes-
active reflector / floor-
quality boundary-

The fixed pool remains scene-owned; graph resources are rebuilt only when a row changes quality.

This is a same-browser backend matrix, not a cross-device benchmark. Run the default WebGPU route and the ?forceWebGL=1 companion, then compare rows only after recording device and browser context.

THREE.JS FOUNDATIONS LAB