Log frame timings

This commit is contained in:
Nathan Sobo 2023-12-13 18:44:21 -07:00
parent 1e4a7e6ef1
commit c863227dc2
3 changed files with 13 additions and 1 deletions

View File

@ -187,6 +187,8 @@ impl MetalRenderer {
}
pub fn draw(&mut self, scene: &Scene) {
let start = std::time::Instant::now();
let layer = self.layer.clone();
let viewport_size = layer.drawable_size();
let viewport_size: Size<DevicePixels> = size(
@ -303,6 +305,10 @@ impl MetalRenderer {
command_buffer.commit();
self.sprite_atlas.clear_textures(AtlasTextureKind::Path);
let duration_since_start = start.elapsed();
println!("renderer draw: {:?}", duration_since_start);
command_buffer.wait_until_completed();
drawable.present();
}

View File

@ -209,8 +209,14 @@ impl AnyView {
) {
cx.with_absolute_element_offset(origin, |cx| {
let (layout_id, rendered_element) = (self.layout)(self, cx);
let start_time = std::time::Instant::now();
cx.compute_layout(layout_id, available_space);
let duration = start_time.elapsed();
println!("compute layout: {:?}", duration);
let start_time = std::time::Instant::now();
(self.paint)(self, rendered_element, cx);
let duration = start_time.elapsed();
println!("paint: {:?}", duration);
})
}
}

View File

@ -1334,7 +1334,7 @@ impl<'a> WindowContext<'a> {
}
self.window.drawing = false;
eprintln!("frame: {:?}", t0.elapsed());
eprintln!("window draw: {:?}", t0.elapsed());
scene
}