Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(828)

Side by Side Diff: tools/perf/measurements/draw_properties.py

Issue 2639723002: [NOT FOR REVIEW]
Patch Set: . Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/perf/benchmarks/draw_properties.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 from telemetry.page import legacy_page_test 5 from telemetry.page import legacy_page_test
6 from telemetry.timeline import model 6 from telemetry.timeline import model
7 from telemetry.timeline import tracing_config 7 from telemetry.timeline import tracing_config
8 from telemetry.value import scalar 8 from telemetry.value import scalar
9 9
10 10
11 class DrawProperties(legacy_page_test.LegacyPageTest): 11 class DrawProperties(legacy_page_test.LegacyPageTest):
12 12
13 def __init__(self): 13 def __init__(self):
14 super(DrawProperties, self).__init__() 14 super(DrawProperties, self).__init__()
15 15
16 def CustomizeBrowserOptions(self, options): 16 def CustomizeBrowserOptions(self, options):
17 options.AppendExtraBrowserArgs([ 17 options.AppendExtraBrowserArgs([
18 '--enable-prefer-compositing-to-lcd-text', 18 '--enable-prefer-compositing-to-lcd-text',
19 ]) 19 ])
20 20
21 def WillNavigateToPage(self, page, tab): 21 def WillNavigateToPage(self, page, tab):
22 del page # unused 22 del page # unused
23 config = tracing_config.TracingConfig() 23 config = tracing_config.TracingConfig()
24 config.chrome_trace_config.category_filter.AddDisabledByDefault( 24 config.chrome_trace_config.category_filter.AddIncludedCategory(
25 'disabled-by-default-cc.debug.cdp-perf') 25 'cc')
26 config.enable_chrome_trace = True 26 config.enable_chrome_trace = True
27 tab.browser.platform.tracing_controller.StartTracing(config) 27 tab.browser.platform.tracing_controller.StartTracing(config)
28 28
29 def ComputeAverageOfDurations(self, timeline_model, name): 29 def ComputeAverageOfDurations(self, timeline_model, name):
30 events = timeline_model.GetAllEventsOfName(name) 30 events = timeline_model.GetAllEventsOfName(name)
31 event_durations = [d.duration for d in events] 31 event_durations = [d.duration for d in events]
32 assert event_durations, 'Failed to find durations' 32 assert event_durations, 'Failed to find durations'
33 33
34 duration_sum = sum(event_durations) 34 duration_sum = sum(event_durations)
35 duration_count = len(event_durations) 35 duration_count = len(event_durations)
36 duration_avg = duration_sum / duration_count 36 duration_avg = duration_sum / duration_count
37 return duration_avg 37 return duration_avg
38 38
39 def ValidateAndMeasurePage(self, page, tab, results): 39 def ValidateAndMeasurePage(self, page, tab, results):
40 del page # unused 40 del page # unused
41 timeline_data = tab.browser.platform.tracing_controller.StopTracing() 41 timeline_data = tab.browser.platform.tracing_controller.StopTracing()
42 timeline_model = model.TimelineModel(timeline_data) 42 timeline_model = model.TimelineModel(timeline_data)
43 43
44 pt_avg = self.ComputeAverageOfDurations( 44 bpt_avg = self.ComputeAverageOfDurations(
45 timeline_model, 45 timeline_model,
46 'LayerTreeHostCommon::ComputeVisibleRectsWithPropertyTrees') 46 'LayerTreeHostInProcess::UpdateLayers::BuildPropertyTrees')
47 cdp_avg = self.ComputeAverageOfDurations(
48 timeline_model,
49 'LayerTreeImpl::UpdateDrawProperties::CalculateDrawProperties')
47 50
48 results.AddValue(scalar.ScalarValue( 51 results.AddValue(scalar.ScalarValue(
49 results.current_page, 'PT_avg_cost', 'ms', pt_avg, 52 results.current_page, 'PT_build_cost', 'ms', bpt_avg,
50 description='Average time spent processing property trees')) 53 description='Average time spent building property trees'))
54
55 results.AddValue(scalar.ScalarValue(
56 results.current_page, 'Impl_cdp_cost', 'ms', cdp_avg,
57 description='Average time spent calculating draw properties'))
51 58
52 def DidRunPage(self, platform): 59 def DidRunPage(self, platform):
53 tracing_controller = platform.tracing_controller 60 tracing_controller = platform.tracing_controller
54 if tracing_controller.is_tracing_running: 61 if tracing_controller.is_tracing_running:
55 tracing_controller.StopTracing() 62 tracing_controller.StopTracing()
OLDNEW
« no previous file with comments | « tools/perf/benchmarks/draw_properties.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698