aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/servo/gfx/renderer.rs11
-rw-r--r--src/servo/layout/layout_task.rs18
-rw-r--r--src/servo/platform/osmain.rs10
-rwxr-xr-xsrc/servo/servo.rc1
-rw-r--r--src/servo/util/time.rs11
5 files changed, 30 insertions, 21 deletions
diff --git a/src/servo/gfx/renderer.rs b/src/servo/gfx/renderer.rs
index 7987d1a299c..0ea7fee3b71 100644
--- a/src/servo/gfx/renderer.rs
+++ b/src/servo/gfx/renderer.rs
@@ -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(());
diff --git a/src/servo/layout/layout_task.rs b/src/servo/layout/layout_task.rs
index a3af46c9177..45b64736309 100644
--- a/src/servo/layout/layout_task.rs
+++ b/src/servo/layout/layout_task.rs
@@ -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));
+ }
}
}
}
diff --git a/src/servo/platform/osmain.rs b/src/servo/platform/osmain.rs
index 848819fd7a5..e27937b213f 100644
--- a/src/servo/platform/osmain.rs
+++ b/src/servo/platform/osmain.rs
@@ -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);
}
diff --git a/src/servo/servo.rc b/src/servo/servo.rc
index 16547302b4e..a64ce32b954 100755
--- a/src/servo/servo.rc
+++ b/src/servo/servo.rc
@@ -93,6 +93,7 @@ mod util {
mod tree;
mod color;
mod unsafe;
+ mod time;
}
#[warn(no_non_implicitly_copyable_typarams)]
diff --git a/src/servo/util/time.rs b/src/servo/util/time.rs
new file mode 100644
index 00000000000..b048c976e77
--- /dev/null
+++ b/src/servo/util/time.rs
@@ -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);
+}
+
+