Return the measures for all the section of the game during the frames
captured, as a plain tree (no back-references): safe to serialize
with JSON.stringify.
Return, for each section, the maximum time it took during a single
captured frame - the "worst frame" per section, catching the spikes
that averages hide. Plain tree, safe to serialize with
JSON.stringify.
Static getConvert measures for a section into texts. Useful for ingame profiling.
The name of the section
The section measures
The array where to push the results
Optional parentTime: null | numberGet stats measured during the frames captured.
Record what the 3D renderer did on this frame: its cheap per-frame counters, and the shader programs it is holding.
The renderer compiles a separate program for every distinct combination of the things that shape a shader - material features, the number of lights of each kind, fog, shadow filtering, clipping planes, tone mapping, instancing, and more. Whenever the game moves any of them onto a combination that has not been seen before, that program is compiled and linked on the spot: the cost lands on a single frame, and never again for that combination. It shows up as unexplained stutter early in a playthrough, which is why it is worth measuring rather than guessing.
Rather than assume a cause, this compares the cache keys the renderer itself uses to tell programs apart, and reports which fields differ from the closest program already seen.
The current WebGLRenderer.info.
Optional memory?: { Optional programs?: null | { Optional render?: {
A basic profiling tool that can be used to measure time spent in sections of the engine.