1*c8dee2aaSAndroid Build Coastguard Worker /* 2*c8dee2aaSAndroid Build Coastguard Worker * Copyright 2011 Google Inc. 3*c8dee2aaSAndroid Build Coastguard Worker * 4*c8dee2aaSAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license that can be 5*c8dee2aaSAndroid Build Coastguard Worker * found in the LICENSE file. 6*c8dee2aaSAndroid Build Coastguard Worker */ 7*c8dee2aaSAndroid Build Coastguard Worker #include "bench/Benchmark.h" 8*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkCanvas.h" 9*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkPaint.h" 10*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkString.h" 11*c8dee2aaSAndroid Build Coastguard Worker 12*c8dee2aaSAndroid Build Coastguard Worker /** 13*c8dee2aaSAndroid Build Coastguard Worker Benchmarks that try to emulate a particular Skia call pattern observed in Chrome. 14*c8dee2aaSAndroid Build Coastguard Worker */ 15*c8dee2aaSAndroid Build Coastguard Worker 16*c8dee2aaSAndroid Build Coastguard Worker /// blitRect() calls emitted by Chrome while scrolling through gmail: count, width, height. 17*c8dee2aaSAndroid Build Coastguard Worker int gmailScrollingRectSpec [431*3] = { 18*c8dee2aaSAndroid Build Coastguard Worker 1, 1254, 1160, 19*c8dee2aaSAndroid Build Coastguard Worker 1, 64, 112, 20*c8dee2aaSAndroid Build Coastguard Worker 1, 1034, 261, 21*c8dee2aaSAndroid Build Coastguard Worker 1, 1166, 1, 22*c8dee2aaSAndroid Build Coastguard Worker 1, 1166, 20, 23*c8dee2aaSAndroid Build Coastguard Worker 1, 1254, 40, 24*c8dee2aaSAndroid Build Coastguard Worker 1, 140, 20, 25*c8dee2aaSAndroid Build Coastguard Worker 1, 22, 30, 26*c8dee2aaSAndroid Build Coastguard Worker 1, 22, 39, 27*c8dee2aaSAndroid Build Coastguard Worker 1, 294, 29, 28*c8dee2aaSAndroid Build Coastguard Worker 1, 336, 25, 29*c8dee2aaSAndroid Build Coastguard Worker 1, 336, 5, 30*c8dee2aaSAndroid Build Coastguard Worker 1, 37, 3, 31*c8dee2aaSAndroid Build Coastguard Worker 1, 37, 4, 32*c8dee2aaSAndroid Build Coastguard Worker 1, 37, 5, 33*c8dee2aaSAndroid Build Coastguard Worker 1, 41, 29, 34*c8dee2aaSAndroid Build Coastguard Worker 1, 57, 15, 35*c8dee2aaSAndroid Build Coastguard Worker 1, 72, 5, 36*c8dee2aaSAndroid Build Coastguard Worker 1, 72, 8, 37*c8dee2aaSAndroid Build Coastguard Worker 1, 76, 29, 38*c8dee2aaSAndroid Build Coastguard Worker 1, 981, 88, 39*c8dee2aaSAndroid Build Coastguard Worker 1, 990, 2, 40*c8dee2aaSAndroid Build Coastguard Worker 1, 990, 6, 41*c8dee2aaSAndroid Build Coastguard Worker 2, 220, 88, 42*c8dee2aaSAndroid Build Coastguard Worker 2, 294, 1, 43*c8dee2aaSAndroid Build Coastguard Worker 2, 37, 6, 44*c8dee2aaSAndroid Build Coastguard Worker 2, 391, 55, 45*c8dee2aaSAndroid Build Coastguard Worker 2, 57, 11, 46*c8dee2aaSAndroid Build Coastguard Worker 2, 57, 14, 47*c8dee2aaSAndroid Build Coastguard Worker 2, 57, 7, 48*c8dee2aaSAndroid Build Coastguard Worker 2, 981, 30, 49*c8dee2aaSAndroid Build Coastguard Worker 2, 990, 15, 50*c8dee2aaSAndroid Build Coastguard Worker 2, 990, 19, 51*c8dee2aaSAndroid Build Coastguard Worker 3, 114, 16, 52*c8dee2aaSAndroid Build Coastguard Worker 3, 1166, 39, 53*c8dee2aaSAndroid Build Coastguard Worker 3, 1254, 154, 54*c8dee2aaSAndroid Build Coastguard Worker 3, 12, 12, 55*c8dee2aaSAndroid Build Coastguard Worker 3, 162, 7, 56*c8dee2aaSAndroid Build Coastguard Worker 3, 164, 479, 57*c8dee2aaSAndroid Build Coastguard Worker 3, 167, 449, 58*c8dee2aaSAndroid Build Coastguard Worker 3, 16, 24, 59*c8dee2aaSAndroid Build Coastguard Worker 3, 204, 497, 60*c8dee2aaSAndroid Build Coastguard Worker 3, 205, 434, 61*c8dee2aaSAndroid Build Coastguard Worker 3, 220, 1127, 62*c8dee2aaSAndroid Build Coastguard Worker 3, 220, 1132, 63*c8dee2aaSAndroid Build Coastguard Worker 3, 220, 931, 64*c8dee2aaSAndroid Build Coastguard Worker 3, 220, 933, 65*c8dee2aaSAndroid Build Coastguard Worker 3, 220, 934, 66*c8dee2aaSAndroid Build Coastguard Worker 3, 297, 8, 67*c8dee2aaSAndroid Build Coastguard Worker 3, 72, 25, 68*c8dee2aaSAndroid Build Coastguard Worker 3, 87, 30, 69*c8dee2aaSAndroid Build Coastguard Worker 3, 981, 1, 70*c8dee2aaSAndroid Build Coastguard Worker 3, 981, 126, 71*c8dee2aaSAndroid Build Coastguard Worker 3, 990, 27, 72*c8dee2aaSAndroid Build Coastguard Worker 3, 990, 36, 73*c8dee2aaSAndroid Build Coastguard Worker 3, 991, 29, 74*c8dee2aaSAndroid Build Coastguard Worker 4, 1254, 306, 75*c8dee2aaSAndroid Build Coastguard Worker 4, 1254, 36, 76*c8dee2aaSAndroid Build Coastguard Worker 4, 1, 1, 77*c8dee2aaSAndroid Build Coastguard Worker 4, 1, 14, 78*c8dee2aaSAndroid Build Coastguard Worker 4, 1, 19, 79*c8dee2aaSAndroid Build Coastguard Worker 4, 1, 7, 80*c8dee2aaSAndroid Build Coastguard Worker 4, 21, 21, 81*c8dee2aaSAndroid Build Coastguard Worker 4, 220, 30, 82*c8dee2aaSAndroid Build Coastguard Worker 4, 46, 949, 83*c8dee2aaSAndroid Build Coastguard Worker 4, 509, 30, 84*c8dee2aaSAndroid Build Coastguard Worker 4, 57, 2, 85*c8dee2aaSAndroid Build Coastguard Worker 4, 57, 6, 86*c8dee2aaSAndroid Build Coastguard Worker 4, 990, 11, 87*c8dee2aaSAndroid Build Coastguard Worker 5, 13, 8, 88*c8dee2aaSAndroid Build Coastguard Worker 5, 198, 24, 89*c8dee2aaSAndroid Build Coastguard Worker 5, 24, 24, 90*c8dee2aaSAndroid Build Coastguard Worker 5, 25, 24, 91*c8dee2aaSAndroid Build Coastguard Worker 5, 2, 24, 92*c8dee2aaSAndroid Build Coastguard Worker 5, 37, 33, 93*c8dee2aaSAndroid Build Coastguard Worker 5, 57, 4, 94*c8dee2aaSAndroid Build Coastguard Worker 5, 599, 24, 95*c8dee2aaSAndroid Build Coastguard Worker 5, 90, 24, 96*c8dee2aaSAndroid Build Coastguard Worker 5, 981, 19, 97*c8dee2aaSAndroid Build Coastguard Worker 5, 990, 23, 98*c8dee2aaSAndroid Build Coastguard Worker 5, 990, 8, 99*c8dee2aaSAndroid Build Coastguard Worker 6, 101, 29, 100*c8dee2aaSAndroid Build Coastguard Worker 6, 117, 29, 101*c8dee2aaSAndroid Build Coastguard Worker 6, 1254, 88, 102*c8dee2aaSAndroid Build Coastguard Worker 6, 139, 29, 103*c8dee2aaSAndroid Build Coastguard Worker 6, 13, 12, 104*c8dee2aaSAndroid Build Coastguard Worker 6, 15, 15, 105*c8dee2aaSAndroid Build Coastguard Worker 6, 164, 25, 106*c8dee2aaSAndroid Build Coastguard Worker 6, 16, 16, 107*c8dee2aaSAndroid Build Coastguard Worker 6, 198, 7, 108*c8dee2aaSAndroid Build Coastguard Worker 6, 1, 12, 109*c8dee2aaSAndroid Build Coastguard Worker 6, 1, 15, 110*c8dee2aaSAndroid Build Coastguard Worker 6, 1, 27, 111*c8dee2aaSAndroid Build Coastguard Worker 6, 220, 936, 112*c8dee2aaSAndroid Build Coastguard Worker 6, 24, 7, 113*c8dee2aaSAndroid Build Coastguard Worker 6, 25, 7, 114*c8dee2aaSAndroid Build Coastguard Worker 6, 2, 7, 115*c8dee2aaSAndroid Build Coastguard Worker 6, 326, 29, 116*c8dee2aaSAndroid Build Coastguard Worker 6, 336, 29, 117*c8dee2aaSAndroid Build Coastguard Worker 6, 599, 7, 118*c8dee2aaSAndroid Build Coastguard Worker 6, 86, 29, 119*c8dee2aaSAndroid Build Coastguard Worker 6, 90, 7, 120*c8dee2aaSAndroid Build Coastguard Worker 6, 96, 29, 121*c8dee2aaSAndroid Build Coastguard Worker 6, 991, 31, 122*c8dee2aaSAndroid Build Coastguard Worker 7, 198, 12, 123*c8dee2aaSAndroid Build Coastguard Worker 7, 198, 20, 124*c8dee2aaSAndroid Build Coastguard Worker 7, 198, 33, 125*c8dee2aaSAndroid Build Coastguard Worker 7, 198, 35, 126*c8dee2aaSAndroid Build Coastguard Worker 7, 24, 12, 127*c8dee2aaSAndroid Build Coastguard Worker 7, 24, 20, 128*c8dee2aaSAndroid Build Coastguard Worker 7, 24, 33, 129*c8dee2aaSAndroid Build Coastguard Worker 7, 24, 35, 130*c8dee2aaSAndroid Build Coastguard Worker 7, 25, 12, 131*c8dee2aaSAndroid Build Coastguard Worker 7, 25, 20, 132*c8dee2aaSAndroid Build Coastguard Worker 7, 25, 33, 133*c8dee2aaSAndroid Build Coastguard Worker 7, 25, 35, 134*c8dee2aaSAndroid Build Coastguard Worker 7, 2, 12, 135*c8dee2aaSAndroid Build Coastguard Worker 7, 2, 20, 136*c8dee2aaSAndroid Build Coastguard Worker 7, 2, 33, 137*c8dee2aaSAndroid Build Coastguard Worker 7, 2, 35, 138*c8dee2aaSAndroid Build Coastguard Worker 7, 304, 1, 139*c8dee2aaSAndroid Build Coastguard Worker 7, 38, 29, 140*c8dee2aaSAndroid Build Coastguard Worker 7, 51, 29, 141*c8dee2aaSAndroid Build Coastguard Worker 7, 599, 12, 142*c8dee2aaSAndroid Build Coastguard Worker 7, 599, 20, 143*c8dee2aaSAndroid Build Coastguard Worker 7, 599, 33, 144*c8dee2aaSAndroid Build Coastguard Worker 7, 599, 35, 145*c8dee2aaSAndroid Build Coastguard Worker 7, 90, 12, 146*c8dee2aaSAndroid Build Coastguard Worker 7, 90, 20, 147*c8dee2aaSAndroid Build Coastguard Worker 7, 90, 33, 148*c8dee2aaSAndroid Build Coastguard Worker 7, 90, 35, 149*c8dee2aaSAndroid Build Coastguard Worker 8, 13, 5, 150*c8dee2aaSAndroid Build Coastguard Worker 8, 198, 13, 151*c8dee2aaSAndroid Build Coastguard Worker 8, 198, 23, 152*c8dee2aaSAndroid Build Coastguard Worker 8, 220, 1, 153*c8dee2aaSAndroid Build Coastguard Worker 8, 24, 13, 154*c8dee2aaSAndroid Build Coastguard Worker 8, 24, 23, 155*c8dee2aaSAndroid Build Coastguard Worker 8, 25, 13, 156*c8dee2aaSAndroid Build Coastguard Worker 8, 25, 23, 157*c8dee2aaSAndroid Build Coastguard Worker 8, 2, 13, 158*c8dee2aaSAndroid Build Coastguard Worker 8, 2, 23, 159*c8dee2aaSAndroid Build Coastguard Worker 8, 329, 28, 160*c8dee2aaSAndroid Build Coastguard Worker 8, 57, 10, 161*c8dee2aaSAndroid Build Coastguard Worker 8, 599, 13, 162*c8dee2aaSAndroid Build Coastguard Worker 8, 599, 23, 163*c8dee2aaSAndroid Build Coastguard Worker 8, 90, 13, 164*c8dee2aaSAndroid Build Coastguard Worker 8, 90, 23, 165*c8dee2aaSAndroid Build Coastguard Worker 9, 198, 17, 166*c8dee2aaSAndroid Build Coastguard Worker 9, 198, 19, 167*c8dee2aaSAndroid Build Coastguard Worker 9, 198, 37, 168*c8dee2aaSAndroid Build Coastguard Worker 9, 198, 5, 169*c8dee2aaSAndroid Build Coastguard Worker 9, 198, 8, 170*c8dee2aaSAndroid Build Coastguard Worker 9, 24, 17, 171*c8dee2aaSAndroid Build Coastguard Worker 9, 24, 19, 172*c8dee2aaSAndroid Build Coastguard Worker 9, 24, 37, 173*c8dee2aaSAndroid Build Coastguard Worker 9, 24, 5, 174*c8dee2aaSAndroid Build Coastguard Worker 9, 24, 8, 175*c8dee2aaSAndroid Build Coastguard Worker 9, 25, 17, 176*c8dee2aaSAndroid Build Coastguard Worker 9, 25, 19, 177*c8dee2aaSAndroid Build Coastguard Worker 9, 25, 37, 178*c8dee2aaSAndroid Build Coastguard Worker 9, 25, 5, 179*c8dee2aaSAndroid Build Coastguard Worker 9, 25, 8, 180*c8dee2aaSAndroid Build Coastguard Worker 9, 2, 17, 181*c8dee2aaSAndroid Build Coastguard Worker 9, 2, 19, 182*c8dee2aaSAndroid Build Coastguard Worker 9, 2, 37, 183*c8dee2aaSAndroid Build Coastguard Worker 9, 2, 5, 184*c8dee2aaSAndroid Build Coastguard Worker 9, 2, 8, 185*c8dee2aaSAndroid Build Coastguard Worker 9, 599, 17, 186*c8dee2aaSAndroid Build Coastguard Worker 9, 599, 19, 187*c8dee2aaSAndroid Build Coastguard Worker 9, 599, 37, 188*c8dee2aaSAndroid Build Coastguard Worker 9, 599, 5, 189*c8dee2aaSAndroid Build Coastguard Worker 9, 599, 8, 190*c8dee2aaSAndroid Build Coastguard Worker 9, 72, 29, 191*c8dee2aaSAndroid Build Coastguard Worker 9, 90, 17, 192*c8dee2aaSAndroid Build Coastguard Worker 9, 90, 19, 193*c8dee2aaSAndroid Build Coastguard Worker 9, 90, 37, 194*c8dee2aaSAndroid Build Coastguard Worker 9, 90, 5, 195*c8dee2aaSAndroid Build Coastguard Worker 9, 90, 8, 196*c8dee2aaSAndroid Build Coastguard Worker 10, 13, 11, 197*c8dee2aaSAndroid Build Coastguard Worker 10, 13, 9, 198*c8dee2aaSAndroid Build Coastguard Worker 10, 198, 26, 199*c8dee2aaSAndroid Build Coastguard Worker 10, 198, 28, 200*c8dee2aaSAndroid Build Coastguard Worker 10, 1, 23, 201*c8dee2aaSAndroid Build Coastguard Worker 10, 1, 4, 202*c8dee2aaSAndroid Build Coastguard Worker 10, 1, 6, 203*c8dee2aaSAndroid Build Coastguard Worker 10, 24, 26, 204*c8dee2aaSAndroid Build Coastguard Worker 10, 24, 28, 205*c8dee2aaSAndroid Build Coastguard Worker 10, 25, 26, 206*c8dee2aaSAndroid Build Coastguard Worker 10, 25, 28, 207*c8dee2aaSAndroid Build Coastguard Worker 10, 26, 24, 208*c8dee2aaSAndroid Build Coastguard Worker 10, 2, 26, 209*c8dee2aaSAndroid Build Coastguard Worker 10, 2, 28, 210*c8dee2aaSAndroid Build Coastguard Worker 10, 599, 26, 211*c8dee2aaSAndroid Build Coastguard Worker 10, 599, 28, 212*c8dee2aaSAndroid Build Coastguard Worker 10, 90, 26, 213*c8dee2aaSAndroid Build Coastguard Worker 10, 90, 28, 214*c8dee2aaSAndroid Build Coastguard Worker 11, 198, 27, 215*c8dee2aaSAndroid Build Coastguard Worker 11, 24, 27, 216*c8dee2aaSAndroid Build Coastguard Worker 11, 25, 27, 217*c8dee2aaSAndroid Build Coastguard Worker 11, 2, 27, 218*c8dee2aaSAndroid Build Coastguard Worker 11, 599, 27, 219*c8dee2aaSAndroid Build Coastguard Worker 11, 90, 27, 220*c8dee2aaSAndroid Build Coastguard Worker 12, 198, 14, 221*c8dee2aaSAndroid Build Coastguard Worker 12, 198, 21, 222*c8dee2aaSAndroid Build Coastguard Worker 12, 198, 3, 223*c8dee2aaSAndroid Build Coastguard Worker 12, 1, 11, 224*c8dee2aaSAndroid Build Coastguard Worker 12, 1, 2, 225*c8dee2aaSAndroid Build Coastguard Worker 12, 1, 8, 226*c8dee2aaSAndroid Build Coastguard Worker 12, 24, 14, 227*c8dee2aaSAndroid Build Coastguard Worker 12, 24, 21, 228*c8dee2aaSAndroid Build Coastguard Worker 12, 24, 3, 229*c8dee2aaSAndroid Build Coastguard Worker 12, 25, 14, 230*c8dee2aaSAndroid Build Coastguard Worker 12, 25, 21, 231*c8dee2aaSAndroid Build Coastguard Worker 12, 25, 3, 232*c8dee2aaSAndroid Build Coastguard Worker 12, 26, 7, 233*c8dee2aaSAndroid Build Coastguard Worker 12, 2, 14, 234*c8dee2aaSAndroid Build Coastguard Worker 12, 2, 21, 235*c8dee2aaSAndroid Build Coastguard Worker 12, 2, 3, 236*c8dee2aaSAndroid Build Coastguard Worker 12, 329, 14, 237*c8dee2aaSAndroid Build Coastguard Worker 12, 38, 2, 238*c8dee2aaSAndroid Build Coastguard Worker 12, 599, 14, 239*c8dee2aaSAndroid Build Coastguard Worker 12, 599, 21, 240*c8dee2aaSAndroid Build Coastguard Worker 12, 599, 3, 241*c8dee2aaSAndroid Build Coastguard Worker 12, 90, 14, 242*c8dee2aaSAndroid Build Coastguard Worker 12, 90, 21, 243*c8dee2aaSAndroid Build Coastguard Worker 12, 90, 3, 244*c8dee2aaSAndroid Build Coastguard Worker 13, 198, 11, 245*c8dee2aaSAndroid Build Coastguard Worker 13, 198, 15, 246*c8dee2aaSAndroid Build Coastguard Worker 13, 198, 31, 247*c8dee2aaSAndroid Build Coastguard Worker 13, 24, 11, 248*c8dee2aaSAndroid Build Coastguard Worker 13, 24, 15, 249*c8dee2aaSAndroid Build Coastguard Worker 13, 24, 31, 250*c8dee2aaSAndroid Build Coastguard Worker 13, 25, 11, 251*c8dee2aaSAndroid Build Coastguard Worker 13, 25, 15, 252*c8dee2aaSAndroid Build Coastguard Worker 13, 25, 31, 253*c8dee2aaSAndroid Build Coastguard Worker 13, 2, 11, 254*c8dee2aaSAndroid Build Coastguard Worker 13, 2, 15, 255*c8dee2aaSAndroid Build Coastguard Worker 13, 2, 31, 256*c8dee2aaSAndroid Build Coastguard Worker 13, 57, 13, 257*c8dee2aaSAndroid Build Coastguard Worker 13, 599, 11, 258*c8dee2aaSAndroid Build Coastguard Worker 13, 599, 15, 259*c8dee2aaSAndroid Build Coastguard Worker 13, 599, 31, 260*c8dee2aaSAndroid Build Coastguard Worker 13, 71, 29, 261*c8dee2aaSAndroid Build Coastguard Worker 13, 90, 11, 262*c8dee2aaSAndroid Build Coastguard Worker 13, 90, 15, 263*c8dee2aaSAndroid Build Coastguard Worker 13, 90, 31, 264*c8dee2aaSAndroid Build Coastguard Worker 14, 13, 2, 265*c8dee2aaSAndroid Build Coastguard Worker 14, 198, 10, 266*c8dee2aaSAndroid Build Coastguard Worker 14, 24, 10, 267*c8dee2aaSAndroid Build Coastguard Worker 14, 25, 10, 268*c8dee2aaSAndroid Build Coastguard Worker 14, 26, 12, 269*c8dee2aaSAndroid Build Coastguard Worker 14, 26, 20, 270*c8dee2aaSAndroid Build Coastguard Worker 14, 26, 33, 271*c8dee2aaSAndroid Build Coastguard Worker 14, 26, 35, 272*c8dee2aaSAndroid Build Coastguard Worker 14, 2, 10, 273*c8dee2aaSAndroid Build Coastguard Worker 14, 336, 1, 274*c8dee2aaSAndroid Build Coastguard Worker 14, 45, 29, 275*c8dee2aaSAndroid Build Coastguard Worker 14, 599, 10, 276*c8dee2aaSAndroid Build Coastguard Worker 14, 63, 29, 277*c8dee2aaSAndroid Build Coastguard Worker 14, 90, 10, 278*c8dee2aaSAndroid Build Coastguard Worker 15, 13, 3, 279*c8dee2aaSAndroid Build Coastguard Worker 15, 198, 2, 280*c8dee2aaSAndroid Build Coastguard Worker 15, 198, 29, 281*c8dee2aaSAndroid Build Coastguard Worker 15, 198, 34, 282*c8dee2aaSAndroid Build Coastguard Worker 15, 24, 2, 283*c8dee2aaSAndroid Build Coastguard Worker 15, 24, 29, 284*c8dee2aaSAndroid Build Coastguard Worker 15, 24, 34, 285*c8dee2aaSAndroid Build Coastguard Worker 15, 25, 2, 286*c8dee2aaSAndroid Build Coastguard Worker 15, 25, 29, 287*c8dee2aaSAndroid Build Coastguard Worker 15, 25, 34, 288*c8dee2aaSAndroid Build Coastguard Worker 15, 2, 2, 289*c8dee2aaSAndroid Build Coastguard Worker 15, 2, 29, 290*c8dee2aaSAndroid Build Coastguard Worker 15, 2, 34, 291*c8dee2aaSAndroid Build Coastguard Worker 15, 599, 2, 292*c8dee2aaSAndroid Build Coastguard Worker 15, 599, 29, 293*c8dee2aaSAndroid Build Coastguard Worker 15, 599, 34, 294*c8dee2aaSAndroid Build Coastguard Worker 15, 90, 2, 295*c8dee2aaSAndroid Build Coastguard Worker 15, 90, 29, 296*c8dee2aaSAndroid Build Coastguard Worker 15, 90, 34, 297*c8dee2aaSAndroid Build Coastguard Worker 16, 13, 4, 298*c8dee2aaSAndroid Build Coastguard Worker 16, 13, 6, 299*c8dee2aaSAndroid Build Coastguard Worker 16, 198, 16, 300*c8dee2aaSAndroid Build Coastguard Worker 16, 198, 9, 301*c8dee2aaSAndroid Build Coastguard Worker 16, 1, 10, 302*c8dee2aaSAndroid Build Coastguard Worker 16, 24, 16, 303*c8dee2aaSAndroid Build Coastguard Worker 16, 24, 9, 304*c8dee2aaSAndroid Build Coastguard Worker 16, 25, 16, 305*c8dee2aaSAndroid Build Coastguard Worker 16, 25, 9, 306*c8dee2aaSAndroid Build Coastguard Worker 16, 26, 13, 307*c8dee2aaSAndroid Build Coastguard Worker 16, 26, 23, 308*c8dee2aaSAndroid Build Coastguard Worker 16, 2, 16, 309*c8dee2aaSAndroid Build Coastguard Worker 16, 2, 9, 310*c8dee2aaSAndroid Build Coastguard Worker 16, 599, 16, 311*c8dee2aaSAndroid Build Coastguard Worker 16, 599, 9, 312*c8dee2aaSAndroid Build Coastguard Worker 16, 90, 16, 313*c8dee2aaSAndroid Build Coastguard Worker 16, 90, 9, 314*c8dee2aaSAndroid Build Coastguard Worker 17, 13, 7, 315*c8dee2aaSAndroid Build Coastguard Worker 17, 198, 18, 316*c8dee2aaSAndroid Build Coastguard Worker 17, 24, 18, 317*c8dee2aaSAndroid Build Coastguard Worker 17, 25, 18, 318*c8dee2aaSAndroid Build Coastguard Worker 17, 2, 18, 319*c8dee2aaSAndroid Build Coastguard Worker 17, 599, 18, 320*c8dee2aaSAndroid Build Coastguard Worker 17, 90, 18, 321*c8dee2aaSAndroid Build Coastguard Worker 18, 198, 22, 322*c8dee2aaSAndroid Build Coastguard Worker 18, 198, 32, 323*c8dee2aaSAndroid Build Coastguard Worker 18, 198, 36, 324*c8dee2aaSAndroid Build Coastguard Worker 18, 198, 4, 325*c8dee2aaSAndroid Build Coastguard Worker 18, 24, 22, 326*c8dee2aaSAndroid Build Coastguard Worker 18, 24, 32, 327*c8dee2aaSAndroid Build Coastguard Worker 18, 24, 36, 328*c8dee2aaSAndroid Build Coastguard Worker 18, 24, 4, 329*c8dee2aaSAndroid Build Coastguard Worker 18, 25, 22, 330*c8dee2aaSAndroid Build Coastguard Worker 18, 25, 32, 331*c8dee2aaSAndroid Build Coastguard Worker 18, 25, 36, 332*c8dee2aaSAndroid Build Coastguard Worker 18, 25, 4, 333*c8dee2aaSAndroid Build Coastguard Worker 18, 26, 17, 334*c8dee2aaSAndroid Build Coastguard Worker 18, 26, 19, 335*c8dee2aaSAndroid Build Coastguard Worker 18, 26, 37, 336*c8dee2aaSAndroid Build Coastguard Worker 18, 26, 5, 337*c8dee2aaSAndroid Build Coastguard Worker 18, 26, 8, 338*c8dee2aaSAndroid Build Coastguard Worker 18, 2, 22, 339*c8dee2aaSAndroid Build Coastguard Worker 18, 2, 32, 340*c8dee2aaSAndroid Build Coastguard Worker 18, 2, 36, 341*c8dee2aaSAndroid Build Coastguard Worker 18, 2, 4, 342*c8dee2aaSAndroid Build Coastguard Worker 18, 599, 22, 343*c8dee2aaSAndroid Build Coastguard Worker 18, 599, 32, 344*c8dee2aaSAndroid Build Coastguard Worker 18, 599, 36, 345*c8dee2aaSAndroid Build Coastguard Worker 18, 599, 4, 346*c8dee2aaSAndroid Build Coastguard Worker 18, 90, 22, 347*c8dee2aaSAndroid Build Coastguard Worker 18, 90, 32, 348*c8dee2aaSAndroid Build Coastguard Worker 18, 90, 36, 349*c8dee2aaSAndroid Build Coastguard Worker 18, 90, 4, 350*c8dee2aaSAndroid Build Coastguard Worker 19, 13, 10, 351*c8dee2aaSAndroid Build Coastguard Worker 20, 1254, 30, 352*c8dee2aaSAndroid Build Coastguard Worker 20, 16, 1007, 353*c8dee2aaSAndroid Build Coastguard Worker 20, 26, 26, 354*c8dee2aaSAndroid Build Coastguard Worker 20, 26, 28, 355*c8dee2aaSAndroid Build Coastguard Worker 21, 198, 6, 356*c8dee2aaSAndroid Build Coastguard Worker 21, 24, 6, 357*c8dee2aaSAndroid Build Coastguard Worker 21, 25, 6, 358*c8dee2aaSAndroid Build Coastguard Worker 21, 2, 6, 359*c8dee2aaSAndroid Build Coastguard Worker 21, 599, 6, 360*c8dee2aaSAndroid Build Coastguard Worker 21, 90, 6, 361*c8dee2aaSAndroid Build Coastguard Worker 22, 198, 38, 362*c8dee2aaSAndroid Build Coastguard Worker 22, 22, 40, 363*c8dee2aaSAndroid Build Coastguard Worker 22, 24, 38, 364*c8dee2aaSAndroid Build Coastguard Worker 22, 25, 38, 365*c8dee2aaSAndroid Build Coastguard Worker 22, 26, 27, 366*c8dee2aaSAndroid Build Coastguard Worker 22, 2, 38, 367*c8dee2aaSAndroid Build Coastguard Worker 22, 599, 38, 368*c8dee2aaSAndroid Build Coastguard Worker 22, 90, 38, 369*c8dee2aaSAndroid Build Coastguard Worker 23, 1254, 1160, 370*c8dee2aaSAndroid Build Coastguard Worker 24, 220, 930, 371*c8dee2aaSAndroid Build Coastguard Worker 24, 26, 14, 372*c8dee2aaSAndroid Build Coastguard Worker 24, 26, 21, 373*c8dee2aaSAndroid Build Coastguard Worker 24, 26, 3, 374*c8dee2aaSAndroid Build Coastguard Worker 26, 11, 11, 375*c8dee2aaSAndroid Build Coastguard Worker 26, 1, 13, 376*c8dee2aaSAndroid Build Coastguard Worker 26, 26, 11, 377*c8dee2aaSAndroid Build Coastguard Worker 26, 26, 15, 378*c8dee2aaSAndroid Build Coastguard Worker 26, 26, 31, 379*c8dee2aaSAndroid Build Coastguard Worker 28, 26, 10, 380*c8dee2aaSAndroid Build Coastguard Worker 30, 176, 60, 381*c8dee2aaSAndroid Build Coastguard Worker 30, 26, 2, 382*c8dee2aaSAndroid Build Coastguard Worker 30, 26, 29, 383*c8dee2aaSAndroid Build Coastguard Worker 30, 26, 34, 384*c8dee2aaSAndroid Build Coastguard Worker 32, 26, 16, 385*c8dee2aaSAndroid Build Coastguard Worker 32, 26, 9, 386*c8dee2aaSAndroid Build Coastguard Worker 34, 26, 18, 387*c8dee2aaSAndroid Build Coastguard Worker 36, 26, 22, 388*c8dee2aaSAndroid Build Coastguard Worker 36, 26, 32, 389*c8dee2aaSAndroid Build Coastguard Worker 36, 26, 36, 390*c8dee2aaSAndroid Build Coastguard Worker 36, 26, 4, 391*c8dee2aaSAndroid Build Coastguard Worker 36, 37, 26, 392*c8dee2aaSAndroid Build Coastguard Worker 42, 26, 6, 393*c8dee2aaSAndroid Build Coastguard Worker 43, 115, 29, 394*c8dee2aaSAndroid Build Coastguard Worker 44, 198, 25, 395*c8dee2aaSAndroid Build Coastguard Worker 44, 24, 25, 396*c8dee2aaSAndroid Build Coastguard Worker 44, 25, 25, 397*c8dee2aaSAndroid Build Coastguard Worker 44, 26, 38, 398*c8dee2aaSAndroid Build Coastguard Worker 44, 2, 25, 399*c8dee2aaSAndroid Build Coastguard Worker 44, 599, 25, 400*c8dee2aaSAndroid Build Coastguard Worker 44, 90, 25, 401*c8dee2aaSAndroid Build Coastguard Worker 46, 22, 1, 402*c8dee2aaSAndroid Build Coastguard Worker 47, 198, 30, 403*c8dee2aaSAndroid Build Coastguard Worker 47, 25, 30, 404*c8dee2aaSAndroid Build Coastguard Worker 47, 2, 30, 405*c8dee2aaSAndroid Build Coastguard Worker 47, 599, 30, 406*c8dee2aaSAndroid Build Coastguard Worker 47, 90, 30, 407*c8dee2aaSAndroid Build Coastguard Worker 48, 24, 30, 408*c8dee2aaSAndroid Build Coastguard Worker 52, 176, 30, 409*c8dee2aaSAndroid Build Coastguard Worker 58, 140, 24, 410*c8dee2aaSAndroid Build Coastguard Worker 58, 4, 30, 411*c8dee2aaSAndroid Build Coastguard Worker 63, 990, 29, 412*c8dee2aaSAndroid Build Coastguard Worker 64, 1254, 1, 413*c8dee2aaSAndroid Build Coastguard Worker 88, 26, 25, 414*c8dee2aaSAndroid Build Coastguard Worker 92, 198, 39, 415*c8dee2aaSAndroid Build Coastguard Worker 92, 25, 39, 416*c8dee2aaSAndroid Build Coastguard Worker 92, 2, 39, 417*c8dee2aaSAndroid Build Coastguard Worker 92, 599, 39, 418*c8dee2aaSAndroid Build Coastguard Worker 92, 90, 39, 419*c8dee2aaSAndroid Build Coastguard Worker 93, 24, 39, 420*c8dee2aaSAndroid Build Coastguard Worker 94, 26, 30, 421*c8dee2aaSAndroid Build Coastguard Worker 108, 1254, 1051, 422*c8dee2aaSAndroid Build Coastguard Worker 117, 140, 1, 423*c8dee2aaSAndroid Build Coastguard Worker 119, 160, 1, 424*c8dee2aaSAndroid Build Coastguard Worker 126, 1, 29, 425*c8dee2aaSAndroid Build Coastguard Worker 132, 135, 16, 426*c8dee2aaSAndroid Build Coastguard Worker 147, 72, 16, 427*c8dee2aaSAndroid Build Coastguard Worker 184, 26, 39, 428*c8dee2aaSAndroid Build Coastguard Worker 238, 990, 1, 429*c8dee2aaSAndroid Build Coastguard Worker 376, 11, 1007, 430*c8dee2aaSAndroid Build Coastguard Worker 380, 11, 487, 431*c8dee2aaSAndroid Build Coastguard Worker 1389, 1034, 1007, 432*c8dee2aaSAndroid Build Coastguard Worker 1870, 57, 16, 433*c8dee2aaSAndroid Build Coastguard Worker 4034, 1, 16, 434*c8dee2aaSAndroid Build Coastguard Worker 8521, 198, 40, 435*c8dee2aaSAndroid Build Coastguard Worker 8521, 25, 40, 436*c8dee2aaSAndroid Build Coastguard Worker 8521, 2, 40, 437*c8dee2aaSAndroid Build Coastguard Worker 8521, 599, 40, 438*c8dee2aaSAndroid Build Coastguard Worker 8521, 90, 40, 439*c8dee2aaSAndroid Build Coastguard Worker 8543, 24, 40, 440*c8dee2aaSAndroid Build Coastguard Worker 8883, 13, 13, 441*c8dee2aaSAndroid Build Coastguard Worker 17042, 26, 40, 442*c8dee2aaSAndroid Build Coastguard Worker 17664, 198, 1, 443*c8dee2aaSAndroid Build Coastguard Worker 17664, 25, 1, 444*c8dee2aaSAndroid Build Coastguard Worker 17664, 2, 1, 445*c8dee2aaSAndroid Build Coastguard Worker 17664, 599, 1, 446*c8dee2aaSAndroid Build Coastguard Worker 17664, 90, 1, 447*c8dee2aaSAndroid Build Coastguard Worker 17710, 24, 1, 448*c8dee2aaSAndroid Build Coastguard Worker 35328, 26, 1, 449*c8dee2aaSAndroid Build Coastguard Worker }; 450*c8dee2aaSAndroid Build Coastguard Worker 451*c8dee2aaSAndroid Build Coastguard Worker /// Emulates the mix of rects blitted by gmail during scrolling 452*c8dee2aaSAndroid Build Coastguard Worker class ScrollGmailBench : public Benchmark { 453*c8dee2aaSAndroid Build Coastguard Worker enum { 454*c8dee2aaSAndroid Build Coastguard Worker W = 1254, 455*c8dee2aaSAndroid Build Coastguard Worker H = 1160, 456*c8dee2aaSAndroid Build Coastguard Worker N = 431 457*c8dee2aaSAndroid Build Coastguard Worker }; 458*c8dee2aaSAndroid Build Coastguard Worker public: ScrollGmailBench()459*c8dee2aaSAndroid Build Coastguard Worker ScrollGmailBench() { } 460*c8dee2aaSAndroid Build Coastguard Worker 461*c8dee2aaSAndroid Build Coastguard Worker protected: 462*c8dee2aaSAndroid Build Coastguard Worker onGetName()463*c8dee2aaSAndroid Build Coastguard Worker const char* onGetName() override { return "chrome_scrollGmail"; } onDraw(int loops,SkCanvas * canvas)464*c8dee2aaSAndroid Build Coastguard Worker void onDraw(int loops, SkCanvas* canvas) override { 465*c8dee2aaSAndroid Build Coastguard Worker SkDEBUGCODE(this->validateBounds(canvas)); 466*c8dee2aaSAndroid Build Coastguard Worker SkPaint paint; 467*c8dee2aaSAndroid Build Coastguard Worker this->setupPaint(&paint); 468*c8dee2aaSAndroid Build Coastguard Worker for (int i = 0; i < N; i++) { 469*c8dee2aaSAndroid Build Coastguard Worker SkRect current; 470*c8dee2aaSAndroid Build Coastguard Worker setRectangle(current, i); 471*c8dee2aaSAndroid Build Coastguard Worker for (int j = 0; j < loops * gmailScrollingRectSpec[i*3]; j++) { 472*c8dee2aaSAndroid Build Coastguard Worker canvas->drawRect(current, paint); 473*c8dee2aaSAndroid Build Coastguard Worker } 474*c8dee2aaSAndroid Build Coastguard Worker } 475*c8dee2aaSAndroid Build Coastguard Worker } onGetSize()476*c8dee2aaSAndroid Build Coastguard Worker SkISize onGetSize() override { return SkISize::Make(W, H); } 477*c8dee2aaSAndroid Build Coastguard Worker setRectangle(SkRect & current,int i)478*c8dee2aaSAndroid Build Coastguard Worker void setRectangle(SkRect& current, int i) { 479*c8dee2aaSAndroid Build Coastguard Worker current.setWH(SkIntToScalar(gmailScrollingRectSpec[i*3+1]), 480*c8dee2aaSAndroid Build Coastguard Worker SkIntToScalar(gmailScrollingRectSpec[i*3+2])); 481*c8dee2aaSAndroid Build Coastguard Worker } validateBounds(SkCanvas * canvas)482*c8dee2aaSAndroid Build Coastguard Worker void validateBounds(SkCanvas* canvas) { 483*c8dee2aaSAndroid Build Coastguard Worker #ifdef SK_DEBUG 484*c8dee2aaSAndroid Build Coastguard Worker SkIRect bounds = canvas->getDeviceClipBounds(); 485*c8dee2aaSAndroid Build Coastguard Worker SkASSERT(bounds.right()-bounds.left() >= W); 486*c8dee2aaSAndroid Build Coastguard Worker SkASSERT(bounds.bottom()-bounds.top() >= H); 487*c8dee2aaSAndroid Build Coastguard Worker #endif 488*c8dee2aaSAndroid Build Coastguard Worker } 489*c8dee2aaSAndroid Build Coastguard Worker 490*c8dee2aaSAndroid Build Coastguard Worker 491*c8dee2aaSAndroid Build Coastguard Worker private: 492*c8dee2aaSAndroid Build Coastguard Worker using INHERITED = Benchmark; 493*c8dee2aaSAndroid Build Coastguard Worker }; 494*c8dee2aaSAndroid Build Coastguard Worker 495*c8dee2aaSAndroid Build Coastguard Worker // Disabled this benchmark: it takes 15x longer than any other benchmark 496*c8dee2aaSAndroid Build Coastguard Worker // and is probably not giving us important information. 497*c8dee2aaSAndroid Build Coastguard Worker // DEF_BENCH(return new ScrollGmailBench); 498