146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)# Copyright 2013 The Chromium Authors. All rights reserved. 2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# Use of this source code is governed by a BSD-style license that can be 3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# found in the LICENSE file. 4a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)from benchmarks import silk_flags 6f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)import page_sets 7116680a4aac90f2aa7413d9095a592090648e557Ben Murdochfrom measurements import smoothness 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdochfrom telemetry import benchmark 9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessTop25(benchmark.Benchmark): 129ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch """Measures rendering statistics while scrolling down the top 25 web pages. 139ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 149ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch http://www.chromium.org/developers/design-documents/rendering-benchmarks""" 15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch test = smoothness.Smoothness 16f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.Top25PageSet 1768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 1868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class SmoothnessToughFiltersCases(benchmark.Benchmark): 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) test = smoothness.Smoothness 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) page_set = page_sets.ToughFiltersCasesPageSet 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)@benchmark.Disabled('mac', 'win') # crbug.com/388877, crbug.com/396127 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessToughCanvasCases(benchmark.Benchmark): 2668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) test = smoothness.Smoothness 27f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.ToughCanvasCasesPageSet 281e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 291e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Disabled('android', 'mac', 'win') # crbug.com/373812 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessToughWebGLCases(benchmark.Benchmark): 32c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch test = smoothness.Smoothness 33f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.ToughWebglCasesPageSet 34c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 35c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Enabled('android') 37116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessMaps(benchmark.Benchmark): 38c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch test = smoothness.Smoothness 39f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.MapsPageSet 40c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 41c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Enabled('android') 43116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessKeyMobileSites(benchmark.Benchmark): 441e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) """Measures rendering statistics while scrolling down the key mobile sites. 451e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 461e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) http://www.chromium.org/developers/design-documents/rendering-benchmarks""" 471e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) test = smoothness.Smoothness 48f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.KeyMobileSitesPageSet 49a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 50a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 51116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled('android') # crbug.com/350692 52116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessToughAnimationCases(benchmark.Benchmark): 535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) test = smoothness.Smoothness 54f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.ToughAnimationCasesPageSet 555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Enabled('android') 58116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessKeySilkCases(benchmark.Benchmark): 595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) """Measures rendering statistics for the key silk cases without GPU 605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) rasterization 615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) """ 625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) test = smoothness.Smoothness 63f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.KeySilkCasesPageSet 645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 65a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Enabled('android') 67116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessFastPathKeySilkCases(benchmark.Benchmark): 685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) """Measures rendering statistics for the key silk cases without GPU 69a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) rasterization using bleeding edge rendering fast paths. 705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) """ 71a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) tag = 'fast_path' 725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) test = smoothness.Smoothness 73f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.KeySilkCasesPageSet 745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) def CustomizeBrowserOptions(self, options): 75a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) silk_flags.CustomizeBrowserOptionsForFastPath(options) 76a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 77a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Enabled('android') # crbug.com/399125 79116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessGpuRasterizationTop25(benchmark.Benchmark): 80a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) """Measures rendering statistics for the top 25 with GPU rasterization 81a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) """ 82a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) tag = 'gpu_rasterization' 83a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) test = smoothness.Smoothness 84f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.Top25PageSet 85a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) def CustomizeBrowserOptions(self, options): 865c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) 87a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 88a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Enabled('android') # crbug.com/399125 90116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessGpuRasterizationKeyMobileSites(benchmark.Benchmark): 91a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) """Measures rendering statistics for the key mobile sites with GPU 92a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) rasterization 93a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) """ 94a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) tag = 'gpu_rasterization' 95a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) test = smoothness.Smoothness 96f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.KeyMobileSitesPageSet 97a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) def CustomizeBrowserOptions(self, options): 985c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) 995d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 100a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 1011320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Disabled # crbug.com/399125 102116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessGpuRasterizationKeySilkCases(benchmark.Benchmark): 1035d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) """Measures rendering statistics for the key silk cases with GPU rasterization 1045d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) """ 105a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) tag = 'gpu_rasterization' 106a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) test = smoothness.Smoothness 107f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.KeySilkCasesPageSet 1085d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) def CustomizeBrowserOptions(self, options): 1095c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) 110a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 111a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 1121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Disabled # crbug.com/399125 113a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class SmoothnessFastPathGpuRasterizationKeySilkCases( 114a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) SmoothnessGpuRasterizationKeySilkCases): 115a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) """Measures rendering statistics for the key silk cases with GPU rasterization 116a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) using bleeding edge rendering fast paths. 117a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) """ 118a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) tag = 'fast_path_gpu_rasterization' 119a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) test = smoothness.Smoothness 120f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.KeySilkCasesPageSet 121a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) def CustomizeBrowserOptions(self, options): 122a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) super(SmoothnessFastPathGpuRasterizationKeySilkCases, self). \ 123a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) CustomizeBrowserOptions(options) 124a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) silk_flags.CustomizeBrowserOptionsForFastPath(options) 125a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 126a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 1271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Disabled # crbug.com/402885 1285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class SmoothnessSimpleMobilePages(benchmark.Benchmark): 1295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) """Measures rendering statistics for pinch-zooming into the tough pinch zoom 1305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) cases 1315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) """ 1325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) test = smoothness.Smoothness 1335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) page_set = page_sets.SimpleMobileSitesPageSet 1345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 1355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 1365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)@benchmark.Enabled('android') 137116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessToughPinchZoomCases(benchmark.Benchmark): 138a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) """Measures rendering statistics for pinch-zooming into the tough pinch zoom 139a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) cases 140a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) """ 141a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) test = smoothness.Smoothness 142f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.ToughPinchZoomCasesPageSet 1435c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 1445c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 1451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Enabled('android') 146116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessPolymer(benchmark.Benchmark): 1475c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu """Measures rendering statistics for Polymer cases. 1485c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu """ 1495c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu test = smoothness.Smoothness 150f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.PolymerPageSet 1515c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 1525c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 1531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Enabled('android') 154116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessFastPathPolymer(benchmark.Benchmark): 1555c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu """Measures rendering statistics for the Polymer cases without GPU 1565c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu rasterization using bleeding edge rendering fast paths. 1575c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu """ 1585c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu tag = 'fast_path' 1595c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu test = smoothness.Smoothness 160f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.PolymerPageSet 1615c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu def CustomizeBrowserOptions(self, options): 1625c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu silk_flags.CustomizeBrowserOptionsForFastPath(options) 1635c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 1641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Enabled('android') # crbug.com/399125 165116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass SmoothnessGpuRasterizationPolymer(benchmark.Benchmark): 1665c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu """Measures rendering statistics for the Polymer cases with GPU rasterization 1675c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu """ 1685c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu tag = 'gpu_rasterization' 1695c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu test = smoothness.Smoothness 170f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.PolymerPageSet 1715c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu def CustomizeBrowserOptions(self, options): 1725c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu silk_flags.CustomizeBrowserOptionsForGpuRasterization(options) 1735c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 1745c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 1751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Disabled # crbug.com/399125 1765c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuclass SmoothnessFastPathGpuRasterizationPolymer( 1775c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu SmoothnessGpuRasterizationPolymer): 1785c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu """Measures rendering statistics for the Polymer cases with GPU rasterization 1795c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu using bleeding edge rendering fast paths. 1805c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu """ 1815c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu tag = 'fast_path_gpu_rasterization' 1825c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu test = smoothness.Smoothness 183f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) page_set = page_sets.PolymerPageSet 1845c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu def CustomizeBrowserOptions(self, options): 1855c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu super(SmoothnessFastPathGpuRasterizationPolymer, self). \ 1865c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu CustomizeBrowserOptions(options) 1875c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu silk_flags.CustomizeBrowserOptionsForFastPath(options) 188