Expand description
The performance gate of RavenRS.
A PerfScene is a screen and the interactions to try on it. Bench::measure drives
it with a real Ui and a real Renderer on an offscreen texture, without a window,
and counts the work: builds, layouts, paints, shaping, allocations, draw calls and
bytes sent to the GPU. Those counts are exact, so gate can compare them with a
baseline on every run, where a time measured on a laptop would only be noise.
Times are measured apart by time, before a release.
Modules§
- capacity
- How much the renderer can draw: each kind of work grows until a frame stops fitting.
- scenes
- Every scene the gate measures.
Structs§
- Bench
- Where the measurements run: the GPU, and what counts allocations.
- Ceiling
- A limit on a counter, per round. A baseline can follow a slow decay; this cannot.
- Frame
Time - What one frame cost.
- Outcome
- What an interaction did.
- Perf
Scene - A screen and the interactions to try on it.
- Setup
- A screen ready to be measured under one interaction.
- Visit
- One thing opened for the first or a later time: its worst frame, which is the one a person sees stutter. Warm frames say nothing about this.
Enums§
- Class
- What a component is, which says what may be asked of it.
Constants§
- COUNTED_
ROUNDS - Rounds counted, which ceilings are multiplied by.
- REPORTED_
ONLY - Counters that vary with the driver, so they are shown but never compared.
- SCALE
- Physical pixels per logical pixel: the laptop’s screen.
- VIEWPORT
- The window the scenes are measured in, in logical pixels.
Functions§
- ceiling
- A shorter way to write a
Ceiling. - hover_
between - Moves the pointer back and forth between two places, as if crossing two controls.
- hover_
buttons - Moves the pointer back and forth between the first two buttons on screen, so every round really changes what is hovered, wherever the layout put them.
- nothing
- Nothing happens: what is left is what the screen does by itself.
- resize
- The window changes size by a pixel, which redoes everything from scratch.
- scroll_
at - Scrolls down and back up at
position.
Type Aliases§
- Counters
- Counts of the work done during the rounds counted, by name.
- Step
- One round of an interaction:
trueasks for a frame, as a platform does whenUi::handle_eventsays so.