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

Side by Side Diff: chrome/test/data/media/html/media_fps_perf.html

Issue 9464004: Fix CPU and memory perf PyAuto test running on av_perf. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rename test files. Created 8 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
« no previous file with comments | « no previous file | chrome/test/data/media/html/media_stat_perf.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!-- Used by media_fps_perf to calculate <video> performance statistics. -->
2
3 <!DOCTYPE html>
4 <html lang="en-US">
5 <head>
6 <title>FPS Perf Test</title>
7 </head>
8 <body>
9 <div id="log">
10 Decoded frames: 0 Avg: 0<br>
11 Dropped frames: 0 Avg: 0<br>
12 </div>
13 <video preload controls></video>
14 </body>
15
16 <script type="text/javascript">
17 var video = document.querySelector("video");
18
19 var decodedFrames = 0;
20 var droppedFrames = 0;
21 var decodedFPS = [];
22 var droppedFPS = [];
23 var startTime = 0;
24 var intID = 0; // interval ID, used to end the window intervals.
25
26 function calculateStats() {
27 if (video.readyState <= HTMLMediaElement.HAVE_CURRENT_DATA ||
28 video.paused || video.ended)
29 return;
30
31 currentTime = new Date().getTime();
32 deltaTime = (currentTime - startTime) / 1000;
33 startTime = currentTime;
34
35 // Calculate decoded frames per sec.
36 var fps = (video.webkitDecodedFrameCount - decodedFrames) / deltaTime;
37 decodedFrames = video.webkitDecodedFrameCount;
38 decodedFPS.push(fps);
39
40 // Calculate dropped frames per sec.
41 fps = (video.webkitDroppedFrameCount - droppedFrames) / deltaTime;
42 droppedFrames = video.webkitDroppedFrameCount;
43 droppedFPS.push(fps);
44
45 var d = document.getElementById("log");
46 d.innerHTML =
47 "Decoded frames: " + decodedFrames +
48 " Avg: " + decodedFPS + " fps.<br>" +
49 "Dropped frames: " + droppedFrames +
50 " Avg: " + droppedFPS + " fps.<br>";
51 }
52
53 video.addEventListener("playing", function(event) {
54 decodedFrames = 0;
55 droppedFrames = 0;
56 decodedFPS = [];
57 droppedFPS = [];
58 startTime = new Date().getTime();
59 intID = window.setInterval(calculateStats, 1000);
60 });
61
62 video.addEventListener("error", function() { endTest(false); }, false);
63 video.addEventListener("ended", function() { endTest(true); }, false);
64
65 function endTest(successFlag) {
66 window.clearInterval(intID);
67 // Notify PyAuto that we've completed the test run.
68 if (window.domAutomationController)
69 window.domAutomationController.send(successFlag);
70 }
71
72 function startTest(url) {
73 // End any previously started tests.
74 window.clearInterval(intID);
75
76 video.src = url;
77 video.play();
78 }
79 </script>
80 </html>
OLDNEW
« no previous file with comments | « no previous file | chrome/test/data/media/html/media_stat_perf.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698