Home | History | Annotate | Download | only in benchmarks
      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
      3 # found in the LICENSE file.
      4 
      5 """Impact HTML5 Gaming benchmark.
      6 
      7 Tests one very specific use case: smooth running games rendered with the
      8 <canvas> element. The score for the HTML5-Benchmark takes the total time the
      9 browser spent rendering frames (formula is 1000000/(sqrt(totalTime) + lagTime *
     10 0.1)). The benchmark automatically runs at a reasonable screen size. Final
     11 score is a indicator for the browser's ability to smoothly run HTML5 games."""
     12 
     13 import os
     14 
     15 from telemetry import benchmark
     16 from telemetry.page import page_set
     17 from telemetry.page import page_test
     18 from telemetry.value import scalar
     19 
     20 
     21 class _HTML5GamingMeasurement(page_test.PageTest):
     22   def ValidateAndMeasurePage(self, _, tab, results):
     23     tab.ExecuteJavaScript('benchmark();')
     24     # Default value of score element is 87485, its value is updated with actual
     25     # score when test finish.
     26     tab.WaitForJavaScriptExpression(
     27         'document.getElementById("score").innerHTML != "87485"', 200)
     28     result = int(tab.EvaluateJavaScript(
     29         'document.getElementById("score").innerHTML'))
     30     results.AddValue(
     31         scalar.ScalarValue(results.current_page, 'Score', 'score', result))
     32 
     33 
     34 
     35 @benchmark.Disabled
     36 class HTML5Gaming(benchmark.Benchmark):
     37   """Imapct HTML5 smooth running games benchmark suite."""
     38   test = _HTML5GamingMeasurement
     39   def CreatePageSet(self, options):
     40     ps = page_set.PageSet(
     41       file_path=os.path.abspath(__file__),
     42       archive_data_file='../page_sets/data/html5gaming.json',
     43       make_javascript_deterministic=False)
     44     ps.AddPageWithDefaultRunNavigate('http://html5-benchmark.com/')
     45     return ps
     46