Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: PerformanceTests/Canvas/resources/canvas_runner.js

Issue 200253002: Make canvas perf tests run less than 6 sec. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Introduce canvas_runner.js to remove duplicated code. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // CanvasRunner is a wrapper of PerformanceTests/resources/runner.js for canvas tests.
2 (function () {
3 var MEASURE_DRAW_TIMES = 50;
4 var MAX_MEASURE_DRAW_TIMES = 1000;
5 var MAX_MEASURE_TIME_PER_FRAME = 1000; // 1 sec
6 var currentTest = null;
7
8 var CanvasRunner = {};
9
10 CanvasRunner.start = function (test) {
11 PerfTestRunner.prepareToMeasureValuesAsync({unit: 'runs/s',
12 description: test.description});
13 if (!test.doRun) {
14 CanvasRunner.logFatalError("\ndoRun must be set.\n");
15 return;
16 }
17 currentTest = test;
18 runTest();
19 }
20
21 function runTest() {
22 if (currentTest.preRun)
23 currentTest.preRun();
24
25 var start = PerfTestRunner.now();
26 var count = 0;
27 while ((PerfTestRunner.now() - start <= MAX_MEASURE_TIME_PER_FRAME) && ( count * MEASURE_DRAW_TIMES < MAX_MEASURE_DRAW_TIMES)) {
28 for (var i = 0; i < MEASURE_DRAW_TIMES; i++) {
29 currentTest.doRun();
30 }
31 count++;
32 }
33 if (currentTest.ensureComplete)
34 currentTest.ensureComplete();
35 var elapsedTime = PerfTestRunner.now() - start;
36 if (currentTest.postRun)
37 currentTest.postRun();
38
39 PerfTestRunner.measureValueAsync(MEASURE_DRAW_TIMES * count * 1000 / ela psedTime);
40
41 requestAnimationFrame(runTest);
42 }
43
44 CanvasRunner.logFatalError = function (text) {
45 PerfTestRunner.logFatalError(text);
46 }
47
48 window.CanvasRunner = CanvasRunner;
49 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698