pub struct FrameStats {
pub flush: Duration,
pub layout: Duration,
pub paint: Duration,
pub list: Duration,
pub damage: Duration,
pub layout_ran: bool,
pub nodes_painted: u32,
pub damage_rects: u32,
pub damage_pixels: u64,
pub damage_pixels_before_merge: u64,
pub flush_rounds: u32,
}Expand description
How long each step of the last frame took and how much work it did.
Fields§
§flush: DurationTime spent running reactive effects and applying their updates.
layout: DurationTime spent in the layout pass.
paint: DurationTime spent in the paint pass.
list: DurationTime spent rebuilding the display list.
damage: DurationTime spent converting and merging the damage.
layout_ran: boolWhether the layout pass ran the layout engine.
nodes_painted: u32How many nodes the paint pass regenerated.
damage_rects: u32How many physical rectangles the damage holds.
damage_pixels: u64How many physical pixels the damage covers, counting an overlap once per rectangle.
damage_pixels_before_merge: u64How many physical pixels the damage covered before the merge step collapsed the rectangles, counting an overlap once per rectangle.
Together with FrameStats::damage_pixels this shows what the merge
step traded: rectangles for area.
flush_rounds: u32How many flush and apply rounds the frame ran.