mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Time other passes of the pipeline
This commit is contained in:
parent
016c60e366
commit
c35c5f2bc8
5 changed files with 30 additions and 21 deletions
|
@ -40,10 +40,13 @@ fn Renderer<S: Sink send copy>(sink: S) -> chan<Msg> {
|
|||
#debug("renderer: got render request");
|
||||
let draw_target = draw_target_ch.recv();
|
||||
#debug("renderer: rendering");
|
||||
clear(draw_target);
|
||||
draw_display_list(draw_target, display_list);
|
||||
#debug("renderer: returning surface");
|
||||
sink.draw(draw_target_ch, draw_target);
|
||||
|
||||
do util::time::time("rendering") {
|
||||
clear(draw_target);
|
||||
draw_display_list(draw_target, display_list);
|
||||
#debug("renderer: returning surface");
|
||||
sink.draw(draw_target_ch, draw_target);
|
||||
}
|
||||
}
|
||||
ExitMsg(response_ch) {
|
||||
response_ch.send(());
|
||||
|
|
|
@ -40,17 +40,19 @@ fn Layout(renderer: Renderer) -> Layout {
|
|||
#debug("layout: received layout request for:");
|
||||
node.dump();
|
||||
|
||||
node.initialize_style_for_subtree();
|
||||
node.recompute_style_for_subtree(arc(copy styles));
|
||||
do util::time::time("layout") {
|
||||
node.initialize_style_for_subtree();
|
||||
node.recompute_style_for_subtree(arc(copy styles));
|
||||
|
||||
let this_box = node.construct_boxes();
|
||||
this_box.dump();
|
||||
let this_box = node.construct_boxes();
|
||||
this_box.dump();
|
||||
|
||||
this_box.apply_style_for_subtree();
|
||||
this_box.reflow(px_to_au(800));
|
||||
this_box.apply_style_for_subtree();
|
||||
this_box.reflow(px_to_au(800));
|
||||
|
||||
let dlist = build_display_list(this_box);
|
||||
renderer.send(renderer::RenderMsg(dlist));
|
||||
let dlist = build_display_list(this_box);
|
||||
renderer.send(renderer::RenderMsg(dlist));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,6 @@ import dom::event::{Event, ResizeEvent};
|
|||
import layers::ImageLayer;
|
||||
import geom::size::Size2D;
|
||||
import std::cmp::fuzzy_eq;
|
||||
import std::time::precise_time_ns;
|
||||
import vec::push;
|
||||
|
||||
type OSMain = chan<Msg>;
|
||||
|
@ -35,13 +34,6 @@ fn OSMain() -> OSMain {
|
|||
}
|
||||
}
|
||||
|
||||
fn time(msg: str, callback: fn()) {
|
||||
let start_time = precise_time_ns();
|
||||
callback();
|
||||
let end_time = precise_time_ns();
|
||||
#debug("%s took %u ms", msg, ((end_time - start_time) / 1000000u64) as uint);
|
||||
}
|
||||
|
||||
fn mainloop(po: port<Msg>) {
|
||||
let key_handlers: @dvec<chan<()>> = @dvec();
|
||||
let event_listeners: @dvec<chan<Event>> = @dvec();
|
||||
|
@ -117,7 +109,7 @@ fn mainloop(po: port<Msg>) {
|
|||
|
||||
#debug("osmain: drawing to screen");
|
||||
|
||||
do time("compositing") {
|
||||
do util::time::time("compositing") {
|
||||
layers::rendergl::render_scene(context, *scene);
|
||||
}
|
||||
|
||||
|
|
|
@ -93,6 +93,7 @@ mod util {
|
|||
mod tree;
|
||||
mod color;
|
||||
mod unsafe;
|
||||
mod time;
|
||||
}
|
||||
|
||||
#[warn(no_non_implicitly_copyable_typarams)]
|
||||
|
|
11
src/servo/util/time.rs
Normal file
11
src/servo/util/time.rs
Normal file
|
@ -0,0 +1,11 @@
|
|||
// Timing functions.
|
||||
import std::time::precise_time_ns;
|
||||
|
||||
fn time(msg: str, callback: fn()) {
|
||||
let start_time = precise_time_ns();
|
||||
callback();
|
||||
let end_time = precise_time_ns();
|
||||
#debug("%s took %u ms", msg, ((end_time - start_time) / 1000000u64) as uint);
|
||||
}
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue