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

Side by Side Diff: third_party/WebKit/PerformanceTests/Paint/paint-offset-changes.html

Issue 2488913002: Add lifecycle update microbenchmarks (Closed)
Patch Set: Created 4 years, 1 month 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 <!DOCTYPE html>
2 <body>
3 <script src="../resources/runner.js"></script>
4 <style>
5 .column {
6 width: 180px;
7 height: 310px;
8 border: 1px solid black;
9 font-size: 1px;
10 }
11 .row {
12 width: 150px;
13 border: 1px solid cornflowerblue;
14 }
15 .row > span {
16 border: 1px solid rebeccapurple;
17 }
18 </style>
19 <script>
20 // This test measures the lifecycle update performance of changing paint offset.
21
22 // Create a column with 100 rows of divs and 50 spans on each row.
23 function createColumn(parent) {
24 var rowsPerColumn = 100;
25 var spansPerRow = 50;
26 var columnDiv = document.createElement('div');
27 parent.appendChild(columnDiv);
28 columnDiv.setAttribute('class', 'column');
29 for (var row = 0; row < rowsPerColumn; row++) {
30 var rowDiv = document.createElement('div');
31 rowDiv.setAttribute('class', 'row');
32 columnDiv.appendChild(rowDiv);
33 for (var span = 0; span < spansPerRow; span++) {
34 var spanElement = document.createElement('span');
35 rowDiv.appendChild(spanElement);
36 }
37 }
38 return columnDiv;
39 }
40
41 var rowMarginsToChange = createColumn(document.body).querySelectorAll('.row');
42 var changeRowMargins = function(runCount) {
43 for (var index = 0; index < rowMarginsToChange.length; index++)
44 rowMarginsToChange[index].style.marginLeft = (runCount % 10) + 'px';
45 }
46
47 var spanMarginsToChange = createColumn(document.body).querySelectorAll('.row > s pan');
48 var changeRowSpanMargins = function(runCount) {
49 for (var index = 0; index < spanMarginsToChange.length; index += 8)
50 spanMarginsToChange[index].style.marginLeft = ((runCount + index) % 3) + 'px ';
51 }
52
53 var firstRowHeightToChange = createColumn(document.body).querySelector('.row');
54 var changeFirstRowHeight = function(rowCount) {
55 firstRowHeightToChange.style.height = (5 + runCount % 5) + 'px';
56 }
57
58 var runCount = 0;
59 PerfTestRunner.measureFrameTime({
60 run: function() {
61 runCount++;
62 changeRowMargins(runCount);
63 changeRowSpanMargins(runCount);
64 changeFirstRowHeight(runCount);
65 },
66 warmUpCount: 5,
67 });
68 </script>
69 </body>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698