A React-based benchmark UI for Babylon.js that measures scene performance on different hardware.
- Render time — Time Babylon.js spends rendering the scene in the current frame.
- Frame time— Total time per frame (simulation + render); inversely related to FPS.
- Camera render time — Time spent rendering from the active camera(s).
- Active meshes evaluation time — Time spent evaluating and preparing active meshes (selection, materials, bindings).
- Render targets render time — Time spent rendering to off-screen targets (e.g., post-processes, shadow maps, probes).
- Frame time ≈ 16.67 ms → ~60 FPS; ≈ 8.33 ms → ~120 FPS. Lower is better.
- If active meshes evaluation dominates → reduce active mesh count, merge meshes, freeze materials, or use instancing.
- If render targets dominate → review post-processing, shadow quality, probe resolution, or MRT passes.
- If camera render time dominates → check viewport count, MSAA level, and per-camera post-process chains.
- Close other heavy browser tabs and devtools performance recorders.
- Disable FPS throttling or power-saving features; use High Performance mode.
- Keep window size and camera pose consistent across runs (at least 10s).
- Run each scenario multiple times (2–3+) and compare medians or p95, not just averages.