pub enum Phase {
Build = 0,
Clone = 1,
Interpret = 2,
Gpu = 3,
Frame = 4,
Present = 5,
}Expand description
Frame phases attributed to CPU vs GPU so a baseline can split the ~16 ms budget.
Variants§
Build = 0
UI thread: tree.commands() flatten + dev.on_frame.
Clone = 1
UI thread: the per-frame Vec<DrawCommand> clone handed to the render thread.
Interpret = 2
Render thread: analyze_frame (dirty/scroll detection) + interpret_commands.
Gpu = 3
Render thread: segment build + pass execution + queue.submit (encompasses present).
Frame = 4
Whole render_frame (render thread) or whole SW render (UI thread).
Present = 5
Render thread: output.present() alone — a subset of gpu that isolates swapchain/vsync
block (FIFO present on mobile) from the CPU-side command-buffer build + submit.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Phase
impl RefUnwindSafe for Phase
impl Send for Phase
impl Sync for Phase
impl Unpin for Phase
impl UnsafeUnpin for Phase
impl UnwindSafe for Phase
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more