aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/layout_task.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2015-12-17 10:57:29 +0530
committerbors-servo <lbergstrom+bors@mozilla.com>2015-12-17 10:57:29 +0530
commit338f66003e78250ce141584e87190661249c5589 (patch)
tree45a29317aa4679ac2aa6369bd423dc5d20f47c08 /components/layout/layout_task.rs
parent67c3cb37073068fe8be7b35b26469e2e329ce385 (diff)
parentdf93b1f194848e1f74827cbffbaba914e9fd979e (diff)
downloadservo-338f66003e78250ce141584e87190661249c5589.tar.gz
servo-338f66003e78250ce141584e87190661249c5589.zip
Auto merge of #8995 - pcwalton:measure-text-shaping, r=mbrubeck
gfx: Measure text shaping time in the time profiler. r? @mbrubeck <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8995) <!-- Reviewable:end -->
Diffstat (limited to 'components/layout/layout_task.rs')
-rw-r--r--components/layout/layout_task.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/components/layout/layout_task.rs b/components/layout/layout_task.rs
index 4f93a147e95..05a86a5c24d 100644
--- a/components/layout/layout_task.rs
+++ b/components/layout/layout_task.rs
@@ -24,6 +24,7 @@ use flow::{self, Flow, ImmutableFlowUtils, MutableFlowUtils, MutableOwnedFlowUti
use flow_ref::{self, FlowRef};
use fnv::FnvHasher;
use gfx::display_list::{ClippingRegion, DisplayList, LayerInfo, OpaqueNode, StackingContext};
+use gfx::font;
use gfx::font_cache_task::FontCacheTask;
use gfx::font_context;
use gfx::paint_task::{LayoutToPaintMsg, PaintLayer};
@@ -1034,6 +1035,18 @@ impl LayoutTask {
}
});
+ // TODO(pcwalton): Measure energy usage of text shaping, perhaps?
+ let text_shaping_time =
+ (font::get_and_reset_text_shaping_performance_counter() as u64) /
+ (opts::get().layout_threads as u64);
+ time::send_profile_data(time::ProfilerCategory::LayoutTextShaping,
+ self.profiler_metadata(),
+ self.time_profiler_chan.clone(),
+ 0,
+ text_shaping_time,
+ 0,
+ 0);
+
// Retrieve the (possibly rebuilt) root flow.
self.root_flow = self.try_get_layout_root(node);
}