OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 import os | 4 import os |
5 | 5 |
6 from telemetry.core import util | 6 from telemetry.core import util |
| 7 from telemetry.page import result_data_type |
7 | 8 |
8 class SmoothnessMetrics(object): | 9 class SmoothnessMetrics(object): |
9 def __init__(self, tab): | 10 def __init__(self, tab): |
10 self._tab = tab | 11 self._tab = tab |
11 with open( | 12 with open( |
12 os.path.join(os.path.dirname(__file__), | 13 os.path.join(os.path.dirname(__file__), |
13 'smoothness.js')) as f: | 14 'smoothness.js')) as f: |
14 js = f.read() | 15 js = f.read() |
15 tab.ExecuteJavaScript(js) | 16 tab.ExecuteJavaScript(js) |
16 | 17 |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 | 83 |
83 def CalcResults(benchmark_stats, results): | 84 def CalcResults(benchmark_stats, results): |
84 s = benchmark_stats | 85 s = benchmark_stats |
85 | 86 |
86 # Scroll Results | 87 # Scroll Results |
87 results.Add('mean_frame_time', 'ms', | 88 results.Add('mean_frame_time', 'ms', |
88 Average(s.total_time, s.screen_frame_count, 1000, 3)) | 89 Average(s.total_time, s.screen_frame_count, 1000, 3)) |
89 results.Add('dropped_percent', '%', | 90 results.Add('dropped_percent', '%', |
90 Average(s.dropped_frame_count, s.screen_frame_count, | 91 Average(s.dropped_frame_count, s.screen_frame_count, |
91 100, 1), | 92 100, 1), |
92 data_type='unimportant') | 93 data_type=result_data_type.UNIMPORTANT) |
93 results.Add('percent_impl_scrolled', '%', | 94 results.Add('percent_impl_scrolled', '%', |
94 Average(s.impl_thread_scroll_count, | 95 Average(s.impl_thread_scroll_count, |
95 s.impl_thread_scroll_count + | 96 s.impl_thread_scroll_count + |
96 s.main_thread_scroll_count, | 97 s.main_thread_scroll_count, |
97 100, 1), | 98 100, 1), |
98 data_type='unimportant') | 99 data_type=result_data_type.UNIMPORTANT) |
99 results.Add('average_num_layers_drawn', '', | 100 results.Add('average_num_layers_drawn', '', |
100 Average(s.drawn_layers_count, s.screen_frame_count, 1, 1), | 101 Average(s.drawn_layers_count, s.screen_frame_count, 1, 1), |
101 data_type='unimportant') | 102 data_type=result_data_type.UNIMPORTANT) |
102 results.Add('average_num_missing_tiles', '', | 103 results.Add('average_num_missing_tiles', '', |
103 Average(s.missing_tile_count, s.screen_frame_count, 1, 1), | 104 Average(s.missing_tile_count, s.screen_frame_count, 1, 1), |
104 data_type='unimportant') | 105 data_type=result_data_type.UNIMPORTANT) |
105 | 106 |
106 # Texture Upload Results | 107 # Texture Upload Results |
107 results.Add('average_commit_time', 'ms', | 108 results.Add('average_commit_time', 'ms', |
108 Average(s.commit_time, s.commit_count, 1000, 3), | 109 Average(s.commit_time, s.commit_count, 1000, 3), |
109 data_type='unimportant') | 110 data_type=result_data_type.UNIMPORTANT) |
110 results.Add('texture_upload_count', 'count', | 111 results.Add('texture_upload_count', 'count', |
111 s.texture_upload_count) | 112 s.texture_upload_count) |
112 results.Add('total_texture_upload_time', 'seconds', | 113 results.Add('total_texture_upload_time', 'seconds', |
113 s.texture_upload_time) | 114 s.texture_upload_time) |
114 | 115 |
115 # Image Decoding Results | 116 # Image Decoding Results |
116 results.Add('total_deferred_image_decode_count', 'count', | 117 results.Add('total_deferred_image_decode_count', 'count', |
117 s.deferred_image_decode_count, | 118 s.deferred_image_decode_count, |
118 data_type='unimportant') | 119 data_type=result_data_type.UNIMPORTANT) |
119 results.Add('total_image_cache_hit_count', 'count', | 120 results.Add('total_image_cache_hit_count', 'count', |
120 s.deferred_image_cache_hits, | 121 s.deferred_image_cache_hits, |
121 data_type='unimportant') | 122 data_type=result_data_type.UNIMPORTANT) |
122 results.Add('average_image_gathering_time', 'ms', | 123 results.Add('average_image_gathering_time', 'ms', |
123 Average(s.image_gathering_time, s.image_gathering_count, | 124 Average(s.image_gathering_time, s.image_gathering_count, |
124 1000, 3), | 125 1000, 3), |
125 data_type='unimportant') | 126 data_type=result_data_type.UNIMPORTANT) |
126 results.Add('total_deferred_image_decoding_time', 'seconds', | 127 results.Add('total_deferred_image_decoding_time', 'seconds', |
127 s.deferred_image_decode_time, | 128 s.deferred_image_decode_time, |
128 data_type='unimportant') | 129 data_type=result_data_type.UNIMPORTANT) |
129 | 130 |
130 # Tile Analysis Results | 131 # Tile Analysis Results |
131 results.Add('total_tiles_analyzed', 'count', | 132 results.Add('total_tiles_analyzed', 'count', |
132 s.tile_analysis_count, | 133 s.tile_analysis_count, |
133 data_type='unimportant') | 134 data_type=result_data_type.UNIMPORTANT) |
134 results.Add('solid_color_tiles_analyzed', 'count', | 135 results.Add('solid_color_tiles_analyzed', 'count', |
135 s.solid_color_tile_analysis_count, | 136 s.solid_color_tile_analysis_count, |
136 data_type='unimportant') | 137 data_type=result_data_type.UNIMPORTANT) |
137 results.Add('average_tile_analysis_time', 'ms', | 138 results.Add('average_tile_analysis_time', 'ms', |
138 Average(s.tile_analysis_time, s.tile_analysis_count, | 139 Average(s.tile_analysis_time, s.tile_analysis_count, |
139 1000, 3), | 140 1000, 3), |
140 data_type='unimportant') | 141 data_type=result_data_type.UNIMPORTANT) |
141 | 142 |
142 # Latency Results | 143 # Latency Results |
143 results.Add('average_latency', 'ms', | 144 results.Add('average_latency', 'ms', |
144 Average(s.input_event_latency, s.input_event_count, | 145 Average(s.input_event_latency, s.input_event_count, |
145 1000, 3), | 146 1000, 3), |
146 data_type='unimportant') | 147 data_type=result_data_type.UNIMPORTANT) |
147 results.Add('average_touch_ui_latency', 'ms', | 148 results.Add('average_touch_ui_latency', 'ms', |
148 Average(s.touch_ui_latency, s.touch_ui_count, 1000, 3), | 149 Average(s.touch_ui_latency, s.touch_ui_count, 1000, 3), |
149 data_type='unimportant') | 150 data_type=result_data_type.UNIMPORTANT) |
150 results.Add('average_touch_acked_latency', 'ms', | 151 results.Add('average_touch_acked_latency', 'ms', |
151 Average(s.touch_acked_latency, s.touch_acked_count, | 152 Average(s.touch_acked_latency, s.touch_acked_count, |
152 1000, 3), | 153 1000, 3), |
153 data_type='unimportant') | 154 data_type=result_data_type.UNIMPORTANT) |
154 results.Add('average_scroll_update_latency', 'ms', | 155 results.Add('average_scroll_update_latency', 'ms', |
155 Average(s.scroll_update_latency, s.scroll_update_count, | 156 Average(s.scroll_update_latency, s.scroll_update_count, |
156 1000, 3), | 157 1000, 3), |
157 data_type='unimportant') | 158 data_type=result_data_type.UNIMPORTANT) |
OLD | NEW |