Change summary
crates/gpui2/src/platform/mac/metal_renderer.rs | 6 ++++++
crates/gpui2/src/view.rs | 6 ++++++
crates/gpui2/src/window.rs | 2 +-
3 files changed, 13 insertions(+), 1 deletion(-)
Detailed changes
@@ -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();
}
@@ -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);
})
}
}
@@ -1334,7 +1334,7 @@ impl<'a> WindowContext<'a> {
}
self.window.drawing = false;
- eprintln!("frame: {:?}", t0.elapsed());
+ eprintln!("window draw: {:?}", t0.elapsed());
scene
}