OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 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 from metrics import loading | 4 from metrics import loading |
5 from metrics import smoothness | 5 from metrics import smoothness |
| 6 from metrics.gpu_rendering_stats import GpuRenderingStats |
6 from telemetry.page import page_measurement | 7 from telemetry.page import page_measurement |
7 | 8 |
8 class DidNotScrollException(page_measurement.MeasurementFailure): | 9 class DidNotScrollException(page_measurement.MeasurementFailure): |
9 def __init__(self): | 10 def __init__(self): |
10 super(DidNotScrollException, self).__init__('Page did not scroll') | 11 super(DidNotScrollException, self).__init__('Page did not scroll') |
11 | 12 |
12 class MissingDisplayFrameRate(page_measurement.MeasurementFailure): | 13 class MissingDisplayFrameRate(page_measurement.MeasurementFailure): |
13 def __init__(self, name): | 14 def __init__(self, name): |
14 super(MissingDisplayFrameRate, self).__init__( | 15 super(MissingDisplayFrameRate, self).__init__( |
15 'Missing display frame rate metrics: ' + name) | 16 'Missing display frame rate metrics: ' + name) |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 | 53 |
53 def MeasurePage(self, page, tab, results): | 54 def MeasurePage(self, page, tab, results): |
54 rendering_stats_deltas = self._metrics.deltas | 55 rendering_stats_deltas = self._metrics.deltas |
55 | 56 |
56 if not (rendering_stats_deltas['numFramesSentToScreen'] > 0): | 57 if not (rendering_stats_deltas['numFramesSentToScreen'] > 0): |
57 raise DidNotScrollException() | 58 raise DidNotScrollException() |
58 | 59 |
59 loading.AddResultsForTab(tab, results) | 60 loading.AddResultsForTab(tab, results) |
60 | 61 |
61 smoothness.CalcFirstPaintTimeResults(results, tab) | 62 smoothness.CalcFirstPaintTimeResults(results, tab) |
62 smoothness.CalcScrollResults(rendering_stats_deltas, results) | 63 |
63 smoothness.CalcTextureUploadResults(rendering_stats_deltas, results) | 64 benchmark_stats = GpuRenderingStats(rendering_stats_deltas) |
64 smoothness.CalcImageDecodingResults(rendering_stats_deltas, results) | 65 smoothness.CalcResults(benchmark_stats, results) |
65 smoothness.CalcAnalysisResults(rendering_stats_deltas, results) | |
66 smoothness.CalcLatencyResults(rendering_stats_deltas, results) | |
67 | 66 |
68 if self.options.report_all_results: | 67 if self.options.report_all_results: |
69 for k, v in rendering_stats_deltas.iteritems(): | 68 for k, v in rendering_stats_deltas.iteritems(): |
70 results.Add(k, '', v) | 69 results.Add(k, '', v) |
71 | 70 |
72 if tab.browser.platform.IsRawDisplayFrameRateSupported(): | 71 if tab.browser.platform.IsRawDisplayFrameRateSupported(): |
73 for r in tab.browser.platform.GetRawDisplayFrameRateMeasurements(): | 72 for r in tab.browser.platform.GetRawDisplayFrameRateMeasurements(): |
74 if r.value is None: | 73 if r.value is None: |
75 raise MissingDisplayFrameRate(r.name) | 74 raise MissingDisplayFrameRate(r.name) |
76 results.Add(r.name, r.unit, r.value) | 75 results.Add(r.name, r.unit, r.value) |
OLD | NEW |