OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 from perf_tools import smoothness_metrics | 4 from perf_tools import smoothness_metrics |
5 from telemetry.core import util | 5 from telemetry.core import util |
6 from telemetry.page import page_measurement | 6 from telemetry.page import page_measurement |
7 | 7 |
8 class DidNotScrollException(page_measurement.MeasurementFailure): | 8 class DidNotScrollException(page_measurement.MeasurementFailure): |
9 def __init__(self): | 9 def __init__(self): |
10 super(DidNotScrollException, self).__init__('Page did not scroll') | 10 super(DidNotScrollException, self).__init__('Page did not scroll') |
11 | 11 |
12 class MissingDisplayFrameRate(page_measurement.MeasurementFailure): | 12 class MissingDisplayFrameRate(page_measurement.MeasurementFailure): |
13 def __init__(self): | 13 def __init__(self, name): |
14 super(MissingDisplayFrameRate, self).__init__( | 14 super(MissingDisplayFrameRate, self).__init__( |
15 'Missing display frame rate metrics') | 15 'Missing display frame rate metrics: ' + name) |
16 | 16 |
17 def DivideIfPossibleOrZero(numerator, denominator): | 17 def DivideIfPossibleOrZero(numerator, denominator): |
18 if denominator == 0: | 18 if denominator == 0: |
19 return 0 | 19 return 0 |
20 return numerator / denominator | 20 return numerator / denominator |
21 | 21 |
22 def CalcScrollResults(rendering_stats_deltas, results): | 22 def CalcScrollResults(rendering_stats_deltas, results): |
23 num_frames_sent_to_screen = rendering_stats_deltas['numFramesSentToScreen'] | 23 num_frames_sent_to_screen = rendering_stats_deltas['numFramesSentToScreen'] |
24 | 24 |
25 mean_frame_time_seconds = ( | 25 mean_frame_time_seconds = ( |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 CalcImageDecodingResults(rendering_stats_deltas, results) | 219 CalcImageDecodingResults(rendering_stats_deltas, results) |
220 CalcAnalysisResults(rendering_stats_deltas, results) | 220 CalcAnalysisResults(rendering_stats_deltas, results) |
221 CalcLatencyResults(rendering_stats_deltas, results) | 221 CalcLatencyResults(rendering_stats_deltas, results) |
222 | 222 |
223 if self.options.report_all_results: | 223 if self.options.report_all_results: |
224 for k, v in rendering_stats_deltas.iteritems(): | 224 for k, v in rendering_stats_deltas.iteritems(): |
225 results.Add(k, '', v) | 225 results.Add(k, '', v) |
226 | 226 |
227 if tab.browser.platform.IsRawDisplayFrameRateSupported(): | 227 if tab.browser.platform.IsRawDisplayFrameRateSupported(): |
228 for r in tab.browser.platform.GetRawDisplayFrameRateMeasurements(): | 228 for r in tab.browser.platform.GetRawDisplayFrameRateMeasurements(): |
229 if not r.value: | 229 if r.value is None: |
230 raise MissingDisplayFrameRate() | 230 raise MissingDisplayFrameRate(r.name) |
231 results.Add(r.name, r.unit, r.value) | 231 results.Add(r.name, r.unit, r.value) |
OLD | NEW |