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): |
| 13 def __init__(self): |
| 14 super(MissingDisplayFrameRate, self).__init__( |
| 15 'Missing display frame rate metrics') |
| 16 |
12 def DivideIfPossibleOrZero(numerator, denominator): | 17 def DivideIfPossibleOrZero(numerator, denominator): |
13 if denominator == 0: | 18 if denominator == 0: |
14 return 0 | 19 return 0 |
15 return numerator / denominator | 20 return numerator / denominator |
16 | 21 |
17 def CalcScrollResults(rendering_stats_deltas, results): | 22 def CalcScrollResults(rendering_stats_deltas, results): |
18 num_frames_sent_to_screen = rendering_stats_deltas['numFramesSentToScreen'] | 23 num_frames_sent_to_screen = rendering_stats_deltas['numFramesSentToScreen'] |
19 | 24 |
20 mean_frame_time_seconds = ( | 25 mean_frame_time_seconds = ( |
21 rendering_stats_deltas['totalTimeInSeconds'] / | 26 rendering_stats_deltas['totalTimeInSeconds'] / |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 CalcImageDecodingResults(rendering_stats_deltas, results) | 214 CalcImageDecodingResults(rendering_stats_deltas, results) |
210 CalcAnalysisResults(rendering_stats_deltas, results) | 215 CalcAnalysisResults(rendering_stats_deltas, results) |
211 CalcLatencyResults(rendering_stats_deltas, results) | 216 CalcLatencyResults(rendering_stats_deltas, results) |
212 | 217 |
213 if self.options.report_all_results: | 218 if self.options.report_all_results: |
214 for k, v in rendering_stats_deltas.iteritems(): | 219 for k, v in rendering_stats_deltas.iteritems(): |
215 results.Add(k, '', v) | 220 results.Add(k, '', v) |
216 | 221 |
217 if tab.browser.platform.IsRawDisplayFrameRateSupported(): | 222 if tab.browser.platform.IsRawDisplayFrameRateSupported(): |
218 for r in tab.browser.platform.GetRawDisplayFrameRateMeasurements(): | 223 for r in tab.browser.platform.GetRawDisplayFrameRateMeasurements(): |
| 224 if not r.value: |
| 225 raise MissingDisplayFrameRate() |
219 results.Add(r.name, r.unit, r.value) | 226 results.Add(r.name, r.unit, r.value) |
OLD | NEW |