pub struct CapturedFrame {
pub frame_index: u64,
pub timestamp_ms: f64,
pub pass_order: Vec<PassId>,
pub pass_timings: HashMap<PassId, f64>,
pub resource_transitions: Vec<(PassId, ResourceId, ImageLayout, ImageLayout)>,
pub barrier_count: usize,
pub draw_calls_per_pass: HashMap<PassId, u32>,
pub triangles_per_pass: HashMap<PassId, u64>,
pub notes: Vec<String>,
}Fields§
§frame_index: u64§timestamp_ms: f64§pass_order: Vec<PassId>§pass_timings: HashMap<PassId, f64>§resource_transitions: Vec<(PassId, ResourceId, ImageLayout, ImageLayout)>§barrier_count: usize§draw_calls_per_pass: HashMap<PassId, u32>§triangles_per_pass: HashMap<PassId, u64>§notes: Vec<String>Implementations§
Source§impl CapturedFrame
impl CapturedFrame
pub fn new(frame_index: u64, timestamp_ms: f64) -> Self
pub fn total_gpu_ms(&self) -> f64
pub fn total_draw_calls(&self) -> u32
pub fn total_triangles(&self) -> u64
pub fn longest_pass(&self) -> Option<PassId>
pub fn passes_over_budget(&self, budget_ms: f64) -> Vec<PassId>
pub fn timeline_html(&self, pass_names: &HashMap<PassId, String>) -> String
Trait Implementations§
Source§impl Clone for CapturedFrame
impl Clone for CapturedFrame
Auto Trait Implementations§
impl Freeze for CapturedFrame
impl RefUnwindSafe for CapturedFrame
impl Send for CapturedFrame
impl Sync for CapturedFrame
impl Unpin for CapturedFrame
impl UnsafeUnpin for CapturedFrame
impl UnwindSafe for CapturedFrame
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.