| OLD | NEW |
| 1 { | 1 { |
| 2 "description": "Tough scheduler latency test cases", | 2 "description": "Tough scheduler latency test cases", |
| 3 "smoothness": { | 3 "smoothness": { |
| 4 "action": "scroll" | 4 "action": "scroll" |
| 5 }, | 5 }, |
| 6 "pages": [ | 6 "pages": [ |
| 7 { | 7 { |
| 8 "url": "file://tough_scheduling_cases/simple_text_page.html", | 8 "url": "file://tough_scheduling_cases/simple_text_page.html", |
| 9 "why": "Simple scrolling baseline", | 9 "why": "Simple scrolling baseline" |
| 10 "navigate_steps": [ | |
| 11 { "action": "navigate" }, | |
| 12 { "action": "set_synthetic_delays" } | |
| 13 ] | |
| 14 }, | 10 }, |
| 15 { | 11 { |
| 16 "url": "file://tough_scheduling_cases/simple_text_page.html?main_busy", | 12 "url": "file://tough_scheduling_cases/simple_text_page.html?main_busy", |
| 17 "why": "Simulate oversubscribed main thread", | 13 "why": "Simulate oversubscribed main thread", |
| 18 "navigate_steps": [ | 14 "synthetic_delays": { |
| 19 { "action": "navigate" }, | 15 "cc.BeginMainFrame": { "target_duration": 0.008 } |
| 20 { "action": "set_synthetic_delays", | 16 } |
| 21 "delays": { | |
| 22 "cc.BeginMainFrame": { "target_duration": 0.008 } | |
| 23 } | |
| 24 } | |
| 25 ] | |
| 26 }, | 17 }, |
| 27 { | 18 { |
| 28 "url": "file://tough_scheduling_cases/simple_text_page.html?main_very_busy
", | 19 "url": "file://tough_scheduling_cases/simple_text_page.html?main_very_busy
", |
| 29 "why": "Simulate oversubscribed main thread", | 20 "why": "Simulate oversubscribed main thread", |
| 30 "navigate_steps": [ | 21 "synthetic_delays": { |
| 31 { "action": "navigate" }, | 22 "cc.BeginMainFrame": { "target_duration": 0.024 } |
| 32 { "action": "set_synthetic_delays", | 23 } |
| 33 "delays": { | |
| 34 "cc.BeginMainFrame": { "target_duration": 0.024 } | |
| 35 } | |
| 36 } | |
| 37 ] | |
| 38 }, | 24 }, |
| 39 { | 25 { |
| 40 "url": "file://tough_scheduling_cases/simple_text_page.html?medium_layers"
, | 26 "url": "file://tough_scheduling_cases/simple_text_page.html?medium_layers"
, |
| 41 "why": "Simulate a page with a a few graphics layers", | 27 "why": "Simulate a page with a a few graphics layers", |
| 42 "navigate_steps": [ | 28 "synthetic_delays": { |
| 43 { "action": "navigate" }, | 29 "cc.BeginMainFrame": { "target_duration": 0.004 }, |
| 44 { "action": "set_synthetic_delays", | 30 "cc.DrawAndSwap": { "target_duration": 0.004 }, |
| 45 "delays": { | 31 "gpu.SwapBuffers": { "target_duration": 0.004 } |
| 46 "cc.BeginMainFrame": { "target_duration": 0.004 }, | 32 } |
| 47 "cc.DrawAndSwap": { "target_duration": 0.004 }, | |
| 48 "gpu.SwapBuffers": { "target_duration": 0.004 } | |
| 49 } | |
| 50 } | |
| 51 ] | |
| 52 }, | 33 }, |
| 53 { | 34 { |
| 54 "url": "file://tough_scheduling_cases/simple_text_page.html?many_layers", | 35 "url": "file://tough_scheduling_cases/simple_text_page.html?many_layers", |
| 55 "why": "Simulate a page with many graphics layers", | 36 "why": "Simulate a page with many graphics layers", |
| 56 "navigate_steps": [ | 37 "synthetic_delays": { |
| 57 { "action": "navigate" }, | 38 "cc.BeginMainFrame": { "target_duration": 0.012 }, |
| 58 { "action": "set_synthetic_delays", | 39 "cc.DrawAndSwap": { "target_duration": 0.012 }, |
| 59 "delays": { | 40 "gpu.SwapBuffers": { "target_duration": 0.012 } |
| 60 "cc.BeginMainFrame": { "target_duration": 0.012 }, | 41 } |
| 61 "cc.DrawAndSwap": { "target_duration": 0.012 }, | |
| 62 "gpu.SwapBuffers": { "target_duration": 0.012 } | |
| 63 } | |
| 64 } | |
| 65 ] | |
| 66 }, | 42 }, |
| 67 { | 43 { |
| 68 "url": "file://tough_scheduling_cases/simple_text_page.html?medium_raster"
, | 44 "url": "file://tough_scheduling_cases/simple_text_page.html?medium_raster"
, |
| 69 "why": "Simulate a page with expensive recording and rasterization", | 45 "why": "Simulate a page with expensive recording and rasterization", |
| 70 "navigate_steps": [ | 46 "synthetic_delays": { |
| 71 { "action": "navigate" }, | 47 "cc.BeginMainFrame": { "target_duration": 0.004 }, |
| 72 { "action": "set_synthetic_delays", | 48 "cc.RasterRequiredForActivation": { "target_duration": 0.004 }, |
| 73 "delays": { | 49 "gpu.AsyncTexImage": { "target_duration": 0.004 } |
| 74 "cc.BeginMainFrame": { "target_duration": 0.004 }, | 50 } |
| 75 "cc.RasterRequiredForActivation": { "target_duration": 0.004 }, | |
| 76 "gpu.AsyncTexImage": { "target_duration": 0.004 } | |
| 77 } | |
| 78 } | |
| 79 ] | |
| 80 }, | 51 }, |
| 81 { | 52 { |
| 82 "url": "file://tough_scheduling_cases/simple_text_page.html?heavy_raster", | 53 "url": "file://tough_scheduling_cases/simple_text_page.html?heavy_raster", |
| 83 "why": "Simulate a page with expensive recording and rasterization", | 54 "why": "Simulate a page with expensive recording and rasterization", |
| 84 "navigate_steps": [ | 55 "synthetic_delays": { |
| 85 { "action": "navigate" }, | 56 "cc.BeginMainFrame": { "target_duration": 0.024 }, |
| 86 { "action": "set_synthetic_delays", | 57 "cc.RasterRequiredForActivation": { "target_duration": 0.024 }, |
| 87 "delays": { | 58 "gpu.AsyncTexImage": { "target_duration": 0.024 } |
| 88 "cc.BeginMainFrame": { "target_duration": 0.024 }, | 59 } |
| 89 "cc.RasterRequiredForActivation": { "target_duration": 0.024 }, | |
| 90 "gpu.AsyncTexImage": { "target_duration": 0.024 } | |
| 91 } | |
| 92 } | |
| 93 ] | |
| 94 }, | 60 }, |
| 95 { | 61 { |
| 96 "url": "file://tough_scheduling_cases/touch_handler_scrolling.html", | 62 "url": "file://tough_scheduling_cases/touch_handler_scrolling.html", |
| 97 "why": "Touch handler scrolling baseline", | 63 "why": "Touch handler scrolling baseline" |
| 98 "navigate_steps": [ | |
| 99 { "action": "navigate" }, | |
| 100 { "action": "set_synthetic_delays" } | |
| 101 ] | |
| 102 }, | 64 }, |
| 103 { | 65 { |
| 104 "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?medium_
handler", | 66 "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?medium_
handler", |
| 105 "why": "Medium cost touch handler", | 67 "why": "Medium cost touch handler", |
| 106 "navigate_steps": [ | 68 "synthetic_delays": { |
| 107 { "action": "navigate" }, | 69 "blink.HandleInputEvent": { "target_duration": 0.008 } |
| 108 { "action": "set_synthetic_delays", | 70 } |
| 109 "delays": { | |
| 110 "blink.HandleInputEvent": { "target_duration": 0.008 } | |
| 111 } | |
| 112 } | |
| 113 ] | |
| 114 }, | 71 }, |
| 115 { | 72 { |
| 116 "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?slow_ha
ndler", | 73 "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?slow_ha
ndler", |
| 117 "why": "Slow touch handler", | 74 "why": "Slow touch handler", |
| 118 "navigate_steps": [ | 75 "synthetic_delays": { |
| 119 { "action": "navigate" }, | 76 "blink.HandleInputEvent": { "target_duration": 0.024 } |
| 120 { "action": "set_synthetic_delays", | 77 } |
| 121 "delays": { | |
| 122 "blink.HandleInputEvent": { "target_duration": 0.024 } | |
| 123 } | |
| 124 } | |
| 125 ] | |
| 126 }, | 78 }, |
| 127 { | 79 { |
| 128 "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?janky_h
andler", | 80 "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?janky_h
andler", |
| 129 "why": "Touch handler that often takes a long time", | 81 "why": "Touch handler that often takes a long time", |
| 130 "navigate_steps": [ | 82 "synthetic_delays": { |
| 131 { "action": "navigate" }, | 83 "blink.HandleInputEvent": { "target_duration": 0.024, "mode": "alternati
ng" } |
| 132 { "action": "set_synthetic_delays", | 84 } |
| 133 "delays": { | |
| 134 "blink.HandleInputEvent": { "target_duration": 0.024, "mode": "alter
nating" } | |
| 135 } | |
| 136 } | |
| 137 ] | |
| 138 }, | 85 }, |
| 139 { | 86 { |
| 140 "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?occasio
nally_janky_handler", | 87 "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?occasio
nally_janky_handler", |
| 141 "why": "Touch handler that occasionally takes a long time", | 88 "why": "Touch handler that occasionally takes a long time", |
| 142 "navigate_steps": [ | 89 "synthetic_delays": { |
| 143 { "action": "navigate" }, | 90 "blink.HandleInputEvent": { "target_duration": 0.024, "mode": "oneshot"
} |
| 144 { "action": "set_synthetic_delays", | 91 } |
| 145 "delays": { | |
| 146 "blink.HandleInputEvent": { "target_duration": 0.024, "mode": "onesh
ot" } | |
| 147 } | |
| 148 } | |
| 149 ] | |
| 150 }, | 92 }, |
| 151 { | 93 { |
| 152 "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?super_s
low_handler", | 94 "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?super_s
low_handler", |
| 153 "why": "Super expensive touch handler causes browser to scroll after a tim
eout", | 95 "why": "Super expensive touch handler causes browser to scroll after a tim
eout", |
| 154 "navigate_steps": [ | 96 "synthetic_delays": { |
| 155 { "action": "navigate" }, | 97 "blink.HandleInputEvent": { "target_duration": 0.2 } |
| 156 { "action": "set_synthetic_delays", | 98 } |
| 157 "delays": { | |
| 158 "blink.HandleInputEvent": { "target_duration": 0.2 } | |
| 159 } | |
| 160 } | |
| 161 ] | |
| 162 }, | 99 }, |
| 163 { | 100 { |
| 164 "url": "file://tough_scheduling_cases/div_touch_handler.html", | 101 "url": "file://tough_scheduling_cases/div_touch_handler.html", |
| 165 "why": "Super expensive touch handler that only occupies a part of the pag
e", | 102 "why": "Super expensive touch handler that only occupies a part of the pag
e", |
| 166 "navigate_steps": [ | 103 "synthetic_delays": { |
| 167 { "action": "navigate" }, | 104 "blink.HandleInputEvent": { "target_duration": 0.2 } |
| 168 { "action": "set_synthetic_delays", | 105 } |
| 169 "delays": { | |
| 170 "blink.HandleInputEvent": { "target_duration": 0.2 } | |
| 171 } | |
| 172 } | |
| 173 ] | |
| 174 }, | 106 }, |
| 175 { | 107 { |
| 176 "url": "file://tough_scheduling_cases/raf.html", | 108 "url": "file://tough_scheduling_cases/raf.html", |
| 177 "why": "requestAnimationFrame scrolling baseline", | 109 "why": "requestAnimationFrame scrolling baseline" |
| 178 "navigate_steps": [ | |
| 179 { "action": "navigate" }, | |
| 180 { "action": "set_synthetic_delays" } | |
| 181 ] | |
| 182 }, | 110 }, |
| 183 { | 111 { |
| 184 "url": "file://tough_scheduling_cases/raf_canvas.html", | 112 "url": "file://tough_scheduling_cases/raf_canvas.html", |
| 185 "why": "Test canvas blocking behavior", | 113 "why": "Test canvas blocking behavior" |
| 186 "navigate_steps": [ | |
| 187 { "action": "navigate" }, | |
| 188 { "action": "set_synthetic_delays" } | |
| 189 ] | |
| 190 }, | 114 }, |
| 191 { | 115 { |
| 192 "url": "file://tough_scheduling_cases/raf.html?medium_handler", | 116 "url": "file://tough_scheduling_cases/raf.html?medium_handler", |
| 193 "why": "Test a moderately heavy requestAnimationFrame handler", | 117 "why": "Test a moderately heavy requestAnimationFrame handler", |
| 194 "navigate_steps": [ | 118 "synthetic_delays": { |
| 195 { "action": "navigate" }, | 119 "cc.BeginMainFrame": { "target_duration": 0.004 }, |
| 196 { "action": "set_synthetic_delays", | 120 "cc.RasterRequiredForActivation": { "target_duration": 0.004 }, |
| 197 "delays": { | 121 "gpu.AsyncTexImage": { "target_duration": 0.004 } |
| 198 "cc.BeginMainFrame": { "target_duration": 0.004 }, | 122 } |
| 199 "cc.RasterRequiredForActivation": { "target_duration": 0.004 }, | |
| 200 "gpu.AsyncTexImage": { "target_duration": 0.004 } | |
| 201 } | |
| 202 } | |
| 203 ] | |
| 204 }, | 123 }, |
| 205 { | 124 { |
| 206 "url": "file://tough_scheduling_cases/raf.html?heavy_handler", | 125 "url": "file://tough_scheduling_cases/raf.html?heavy_handler", |
| 207 "why": "Test a moderately heavy requestAnimationFrame handler", | 126 "why": "Test a moderately heavy requestAnimationFrame handler", |
| 208 "navigate_steps": [ | 127 "synthetic_delays": { |
| 209 { "action": "navigate" }, | 128 "cc.BeginMainFrame": { "target_duration": 0.024 }, |
| 210 { "action": "set_synthetic_delays", | 129 "cc.RasterRequiredForActivation": { "target_duration": 0.024 }, |
| 211 "delays": { | 130 "gpu.AsyncTexImage": { "target_duration": 0.024 } |
| 212 "cc.BeginMainFrame": { "target_duration": 0.024 }, | 131 } |
| 213 "cc.RasterRequiredForActivation": { "target_duration": 0.024 }, | |
| 214 "gpu.AsyncTexImage": { "target_duration": 0.024 } | |
| 215 } | |
| 216 } | |
| 217 ] | |
| 218 }, | 132 }, |
| 219 { | 133 { |
| 220 "url": "file://tough_scheduling_cases/raf.html?gpu_bound", | 134 "url": "file://tough_scheduling_cases/raf.html?gpu_bound", |
| 221 "why": "Simulate a heavily GPU bound page", | 135 "why": "Simulate a heavily GPU bound page", |
| 222 "navigate_steps": [ | 136 "synthetic_delays": { |
| 223 { "action": "navigate" }, | 137 "gpu.SwapBuffers": { "target_duration": 0.1 } |
| 224 { "action": "set_synthetic_delays", | 138 } |
| 225 "delays": { | |
| 226 "gpu.SwapBuffers": { "target_duration": 0.1 } | |
| 227 } | |
| 228 } | |
| 229 ] | |
| 230 }, | 139 }, |
| 231 { | 140 { |
| 232 "url": "file://tough_scheduling_cases/raf_touch_animation.html", | 141 "url": "file://tough_scheduling_cases/raf_touch_animation.html", |
| 233 "why": "Stress test for the scheduler", | 142 "why": "Stress test for the scheduler" |
| 234 "navigate_steps": [ | |
| 235 { "action": "navigate" }, | |
| 236 { "action": "set_synthetic_delays" } | |
| 237 ] | |
| 238 }, | 143 }, |
| 239 { | 144 { |
| 240 "url": "file://tough_scheduling_cases/raf_touch_animation.html?medium", | 145 "url": "file://tough_scheduling_cases/raf_touch_animation.html?medium", |
| 241 "why": "Medium stress test for the scheduler", | 146 "why": "Medium stress test for the scheduler", |
| 242 "navigate_steps": [ | 147 "synthetic_delays": { |
| 243 { "action": "navigate" }, | 148 "cc.BeginMainFrame": { "target_duration": 0.004 }, |
| 244 { "action": "set_synthetic_delays", | 149 "cc.DrawAndSwap": { "target_duration": 0.004 } |
| 245 "delays": { | 150 } |
| 246 "cc.BeginMainFrame": { "target_duration": 0.004 }, | |
| 247 "cc.DrawAndSwap": { "target_duration": 0.004 } | |
| 248 } | |
| 249 } | |
| 250 ] | |
| 251 }, | 151 }, |
| 252 { | 152 { |
| 253 "url": "file://tough_scheduling_cases/raf_touch_animation.html?heavy", | 153 "url": "file://tough_scheduling_cases/raf_touch_animation.html?heavy", |
| 254 "why": "Heavy stress test for the scheduler", | 154 "why": "Heavy stress test for the scheduler", |
| 255 "navigate_steps": [ | 155 "synthetic_delays": { |
| 256 { "action": "navigate" }, | 156 "cc.BeginMainFrame": { "target_duration": 0.012 }, |
| 257 { "action": "set_synthetic_delays", | 157 "cc.DrawAndSwap": { "target_duration": 0.012 } |
| 258 "delays": { | 158 } |
| 259 "cc.BeginMainFrame": { "target_duration": 0.012 }, | |
| 260 "cc.DrawAndSwap": { "target_duration": 0.012 } | |
| 261 } | |
| 262 } | |
| 263 ] | |
| 264 } | 159 } |
| 265 ] | 160 ] |
| 266 } | 161 } |
| OLD | NEW |