Log frame timings
This commit is contained in:
parent
1e4a7e6ef1
commit
c863227dc2
@ -187,6 +187,8 @@ impl MetalRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn draw(&mut self, scene: &Scene) {
|
pub fn draw(&mut self, scene: &Scene) {
|
||||||
|
let start = std::time::Instant::now();
|
||||||
|
|
||||||
let layer = self.layer.clone();
|
let layer = self.layer.clone();
|
||||||
let viewport_size = layer.drawable_size();
|
let viewport_size = layer.drawable_size();
|
||||||
let viewport_size: Size<DevicePixels> = size(
|
let viewport_size: Size<DevicePixels> = size(
|
||||||
@ -303,6 +305,10 @@ impl MetalRenderer {
|
|||||||
|
|
||||||
command_buffer.commit();
|
command_buffer.commit();
|
||||||
self.sprite_atlas.clear_textures(AtlasTextureKind::Path);
|
self.sprite_atlas.clear_textures(AtlasTextureKind::Path);
|
||||||
|
|
||||||
|
let duration_since_start = start.elapsed();
|
||||||
|
println!("renderer draw: {:?}", duration_since_start);
|
||||||
|
|
||||||
command_buffer.wait_until_completed();
|
command_buffer.wait_until_completed();
|
||||||
drawable.present();
|
drawable.present();
|
||||||
}
|
}
|
||||||
|
@ -209,8 +209,14 @@ impl AnyView {
|
|||||||
) {
|
) {
|
||||||
cx.with_absolute_element_offset(origin, |cx| {
|
cx.with_absolute_element_offset(origin, |cx| {
|
||||||
let (layout_id, rendered_element) = (self.layout)(self, cx);
|
let (layout_id, rendered_element) = (self.layout)(self, cx);
|
||||||
|
let start_time = std::time::Instant::now();
|
||||||
cx.compute_layout(layout_id, available_space);
|
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);
|
(self.paint)(self, rendered_element, cx);
|
||||||
|
let duration = start_time.elapsed();
|
||||||
|
println!("paint: {:?}", duration);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1334,7 +1334,7 @@ impl<'a> WindowContext<'a> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
self.window.drawing = false;
|
self.window.drawing = false;
|
||||||
eprintln!("frame: {:?}", t0.elapsed());
|
eprintln!("window draw: {:?}", t0.elapsed());
|
||||||
|
|
||||||
scene
|
scene
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user