Skip to main content

Crate ravenrs_perf

Crate ravenrs_perf 

Source
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.
FrameTime
What one frame cost.
Outcome
What an interaction did.
PerfScene
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: true asks for a frame, as a platform does when Ui::handle_event says so.