Chromium Code Reviews| 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 | 4 |
| 5 from telemetry import multi_page_benchmark | 5 from telemetry import multi_page_benchmark |
| 6 | 6 |
| 7 | 7 |
| 8 class ImageDecoding(multi_page_benchmark.MultiPageBenchmark): | 8 class ImageDecoding(multi_page_benchmark.MultiPageBenchmark): |
| 9 def WillNavigateToPage(self, page, tab): | 9 def WillNavigateToPage(self, page, tab): |
| 10 tab.StartTimelineRecording() | 10 tab.StartTimelineRecording() |
|
tonyg
2013/01/31 23:20:07
Should probably comment out this whole method too.
qinmin
2013/01/31 23:50:55
Done.
| |
| 11 | 11 |
| 12 def MeasurePage(self, page, tab, results): | 12 def MeasurePage(self, page, tab, results): |
| 13 tab.StopTimelineRecording() | 13 # TODO(qinmin): This android only test may fail after we switch to |
| 14 def _IsDone(): | 14 # deferred image decoding and impl-side painting. Before we fix the test, |
| 15 return tab.EvaluateJavaScript('isDone') | 15 # temporarily disable calculation for lazily decoded images. |
| 16 # Uncommented the following lines after we fix the timeline for lazily | |
| 17 # decoded images. | |
| 18 return | |
| 19 # tab.StopTimelineRecording() | |
| 20 # def _IsDone(): | |
| 21 # return tab.EvaluateJavaScript('isDone') | |
| 16 | 22 |
| 17 decode_image_events = \ | 23 # decode_image_events = \ |
| 18 tab.timeline_model.GetAllOfName('DecodeImage') | 24 # tab.timeline_model.GetAllOfName('DecodeImage') |
| 19 | 25 |
| 20 # If it is a real image benchmark, then store only the last-minIterations | 26 # If it is a real image benchmark, then store only the last-minIterations |
| 21 # decode tasks. | 27 # decode tasks. |
| 22 if (hasattr(page, | 28 # if (hasattr(page, |
| 23 'image_decoding_benchmark_limit_results_to_min_iterations') and | 29 # 'image_decoding_benchmark_limit_results_to_min_iterations') and |
| 24 page.image_decoding_benchmark_limit_results_to_min_iterations): | 30 # page.image_decoding_benchmark_limit_results_to_min_iterations): |
| 25 assert _IsDone() | 31 # assert _IsDone() |
| 26 min_iterations = tab.EvaluateJavaScript('minIterations') | 32 # min_iterations = tab.EvaluateJavaScript('minIterations') |
| 27 decode_image_events = decode_image_events[-min_iterations:] | 33 # decode_image_events = decode_image_events[-min_iterations:] |
| 28 | 34 |
| 29 durations = [d.duration_ms for d in decode_image_events] | 35 # durations = [d.duration_ms for d in decode_image_events] |
| 30 if not durations: | 36 # if not durations: |
| 31 results.Add('ImageDecoding_avg', 'ms', 'unsupported') | 37 # results.Add('ImageDecoding_avg', 'ms', 'unsupported') |
| 32 return | 38 # return |
| 33 image_decoding_avg = sum(durations) / len(durations) | 39 # image_decoding_avg = sum(durations) / len(durations) |
| 34 results.Add('ImageDecoding_avg', 'ms', image_decoding_avg) | 40 # results.Add('ImageDecoding_avg', 'ms', image_decoding_avg) |
| OLD | NEW |