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

Unified Diff: chrome/test/data/perf/latency_suite.html

Issue 9071018: Revert 116191 - Input latency performance test that uses tracing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 12 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/chrome_tests.gypi ('k') | chrome/test/perf/browser_perf_test.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/perf/latency_suite.html
===================================================================
--- chrome/test/data/perf/latency_suite.html (revision 116201)
+++ chrome/test/data/perf/latency_suite.html (working copy)
@@ -1,152 +0,0 @@
-<html>
-<head>
-<script type="text/javascript">
-/**
- * @fileoverview This page executes various animation behaviors based on URL
- * arguments to test input latency. There are two main modes of
- * operation: webgl and software. Both modes use
- * requestAnimationFrame to drive the update rate. The basic task
- * of the page is to collect mouse input coordinates in the input
- * handler and render with the latest input coordinate in RAF. The
- * latency test will look at the rendering trace data to detect
- * the latest mouse coordinate that affected the frame. For
- * software runs, the pixel at 0,0 on the page must contain the
- * mouse coordinate encoded as a color.
- */
-
-var frameCountWarmup = 5;
-var frameCount = 0;
-var gl = null;
-var mouseX = 0;
-var testParams = {};
-
-function parseParams() {
- var query = window.location.search.substring(1);
- if (!query)
- return;
- var params = query.split('&');
- for (var i = 0, len = params.length; i < len; i++) {
- var pair = params[i].split('=');
- if (pair.length == 1)
- testParams[pair[0]] = true;
- else
- testParams[pair[0]] = pair[1];
- }
-}
-
-function setCoordinates(e) {
- // Ignore mouse events with wrong Y coordinate.
- if (e.clientY != parseInt(testParams.y))
- return;
-
- mouseX = e.clientX;
- if (testParams.inputDirty) {
- document.getElementById('text').firstChild.textContent =
- mouseX.toString();
- }
- if (testParams.inputHeavy) {
- sleep(parseInt(testParams.delayTimeMS));
- }
-}
-
-function init() {
- parseParams();
-
- if (testParams.mode == 'webgl') {
- var canvas = document.getElementById('canvas');
- if (!canvas)
- return false;
- canvas.width = parseInt(testParams.canvasWidth);
- canvas.height = parseInt(testParams.canvasWidth);
- try {
- // Specify antialiasing to ensure that we get a BlitFramebufferEXT in
- // the trace when the compositor consumes a webgl frame.
- gl = canvas.getContext('webgl', { antialias: true });
- } catch (e) {}
- if (!gl) {
- try {
- gl = canvas.getContext('experimental-webgl');
- } catch (e) {
- return false;
- }
- }
- return true;
- } else if (testParams.mode == 'software') {
- var table = document.getElementById('table');
- table.style.backgroundColor = '#ff00ff';
- return true;
- }
-}
-
-function onLoad() {
- if (init())
- window.webkitRequestAnimationFrame(draw);
- else
- endTest();
-}
-
-function sleep(milliseconds) {
- var start = Date.now();
- while(Date.now() - start <= milliseconds);
-}
-
-function draw() {
- if (testParams.rafHeavy) {
- sleep(parseInt(testParams.delayTimeMS));
- }
-
- if (testParams.mode == 'webgl') {
- gl.viewport(0, 0, testParams.canvasWidth, testParams.canvasWidth);
- if (testParams.paintHeavy) {
- gl.clearColor(0, 0, 0.0, 1.0);
- for (var i = 0; i < 1000; ++i)
- gl.clear(gl.COLOR_BUFFER_BIT);
- }
- gl.clearColor(mouseX, testParams.clearColorGreen, 0.0, 1.0);
- gl.clear(gl.COLOR_BUFFER_BIT);
- } else if (testParams.mode == 'software') {
- var table = document.getElementById('table');
- // Encode mouse x value into color channels (support up to 64k x values).
- var g = (mouseX & 0xff00) >> 8;
- var b = (mouseX & 0xff);
- table.style.backgroundColor = 'rgb(0, ' + g + ', ' + b + ')';
- // When no inputs are coming in, the first table won't change. Since we
- // still need to cause a paint, toggle the color of another element:
- var table2 = document.getElementById('table2');
- table2.style.backgroundColor = (frameCount & 1) ? 'gray' : 'silver';
- if (testParams.paintHeavy) {
- var body = document.getElementById('body');
- body.style.backgroundColor = (frameCount & 1) ? 'silver' : 'gray';
- }
- }
-
- frameCount++;
- if (frameCount == parseInt(testParams.numFrames)) {
- if (testParams.mode == 'webgl')
- gl.finish();
- endTest();
- } else {
- window.webkitRequestAnimationFrame(draw);
- }
-}
-
-function endTest() {
- domAutomationController.setAutomationId(1);
- domAutomationController.send('FINISHED');
-}
-</script>
-</head>
-<style>
-#table {
- height: 10px;
- width: 10px;
-}
-</style>
-<body id="body" style="margin:0px" onload="onLoad()"
- onmousemove="setCoordinates(event)">
-<table id="table"><tr/></table>
-<table id="table2"><tr/></table>
-<canvas id="canvas"></canvas>
-<p><b id="text">x</b></p>
-</body>
-</html>
« no previous file with comments | « chrome/chrome_tests.gypi ('k') | chrome/test/perf/browser_perf_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698