JARVIGManual

Profiling

Every major subsystem exposes named timings and counters from its first implementation. Phase 0 does this with Engine.telemetry counters, not with estimated milliseconds.

Required eventually:

  • CPU hierarchical trace
  • GPU timestamp trace
  • Draw and dispatch counts
  • World-cell residency and churn
  • Geometry and texture page faults
  • Asset IO bandwidth
  • Physics bodies, islands, and contacts
  • Network bytes, entities, and events
  • JS and WASM heap and GC
  • Frame, input, and network capture packages for replay

The editor profiler panel (editor/profiler/) is not built. Do not print a frame time the clock did not measure. addTime throws on a negative or non-finite sample so a caller cannot record a guess by accident.

Performance PRs include raw before/after data. No unrelated refactor inside the comparison. Results go under ../benchmarks/README.md.