aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-07-12 20:04:00 -0700
committerPatrick Walton <pcwalton@mimiga.net>2012-07-12 20:04:00 -0700
commit5afae787ce49234faefbc5eb3067a65efce21e0c (patch)
tree0c9060f575bfc9c02c073b2f3982d52e5cc5b561 /src
parent127189bdc8c37a48cdfd73999dc489f308bc42f1 (diff)
downloadservo-5afae787ce49234faefbc5eb3067a65efce21e0c.tar.gz
servo-5afae787ce49234faefbc5eb3067a65efce21e0c.zip
Add some timing for compositing
Diffstat (limited to 'src')
-rw-r--r--src/servo/platform/osmain.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/servo/platform/osmain.rs b/src/servo/platform/osmain.rs
index daee2460906..6ea213e1542 100644
--- a/src/servo/platform/osmain.rs
+++ b/src/servo/platform/osmain.rs
@@ -13,6 +13,7 @@ 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>;
@@ -34,6 +35,13 @@ 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();
@@ -108,7 +116,10 @@ fn mainloop(po: port<Msg>) {
#debug("osmain: drawing to screen");
- layers::rendergl::render_scene(context, *scene);
+ do time("compositing") {
+ layers::rendergl::render_scene(context, *scene);
+ }
+
glut::swap_buffers();
glut::post_redisplay();
}