blob: 418e0f1324f1dccb74af28875f3edc5920d6ad17 [file] [log] [blame]
{
"description": "Tough scheduler latency test cases",
"smoothness": {
"action": "scroll"
},
"pages": [
{
"url": "file://tough_scheduling_cases/simple_text_page.html",
"why": "Simple scrolling baseline",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays" }
]
},
{
"url": "file://tough_scheduling_cases/simple_text_page.html?main_busy",
"why": "Simulate oversubscribed main thread",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"cc.BeginMainFrame": { "target_duration": 0.008 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/simple_text_page.html?main_very_busy",
"why": "Simulate oversubscribed main thread",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"cc.BeginMainFrame": { "target_duration": 0.024 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/simple_text_page.html?medium_layers",
"why": "Simulate a page with a a few graphics layers",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"cc.BeginMainFrame": { "target_duration": 0.004 },
"cc.DrawAndSwap": { "target_duration": 0.004 },
"gpu.SwapBuffers": { "target_duration": 0.004 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/simple_text_page.html?many_layers",
"why": "Simulate a page with many graphics layers",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"cc.BeginMainFrame": { "target_duration": 0.012 },
"cc.DrawAndSwap": { "target_duration": 0.012 },
"gpu.SwapBuffers": { "target_duration": 0.012 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/simple_text_page.html?medium_raster",
"why": "Simulate a page with expensive recording and rasterization",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"cc.BeginMainFrame": { "target_duration": 0.004 },
"cc.RasterRequiredForActivation": { "target_duration": 0.004 },
"gpu.AsyncTexImage": { "target_duration": 0.004 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/simple_text_page.html?heavy_raster",
"why": "Simulate a page with expensive recording and rasterization",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"cc.BeginMainFrame": { "target_duration": 0.024 },
"cc.RasterRequiredForActivation": { "target_duration": 0.024 },
"gpu.AsyncTexImage": { "target_duration": 0.024 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/touch_handler_scrolling.html",
"why": "Touch handler scrolling baseline",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays" }
]
},
{
"url": "file://tough_scheduling_cases/touch_handler_scrolling.html?medium_handler",
"why": "Medium cost touch handler",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"blink.HandleInputEvent": { "target_duration": 0.008 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/touch_handler_scrolling.html?slow_handler",
"why": "Slow touch handler",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"blink.HandleInputEvent": { "target_duration": 0.024 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/touch_handler_scrolling.html?janky_handler",
"why": "Touch handler that often takes a long time",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"blink.HandleInputEvent": { "target_duration": 0.024, "mode": "alternating" }
}
}
]
},
{
"url": "file://tough_scheduling_cases/touch_handler_scrolling.html?occasionally_janky_handler",
"why": "Touch handler that occasionally takes a long time",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"blink.HandleInputEvent": { "target_duration": 0.024, "mode": "oneshot" }
}
}
]
},
{
"url": "file://tough_scheduling_cases/touch_handler_scrolling.html?super_slow_handler",
"why": "Super expensive touch handler causes browser to scroll after a timeout",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"blink.HandleInputEvent": { "target_duration": 0.2 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/div_touch_handler.html",
"why": "Super expensive touch handler that only occupies a part of the page",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"blink.HandleInputEvent": { "target_duration": 0.2 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/raf.html",
"why": "requestAnimationFrame scrolling baseline",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays" }
]
},
{
"url": "file://tough_scheduling_cases/raf_canvas.html",
"why": "Test canvas blocking behavior",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays" }
]
},
{
"url": "file://tough_scheduling_cases/raf.html?medium_handler",
"why": "Test a moderately heavy requestAnimationFrame handler",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"cc.BeginMainFrame": { "target_duration": 0.004 },
"cc.RasterRequiredForActivation": { "target_duration": 0.004 },
"gpu.AsyncTexImage": { "target_duration": 0.004 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/raf.html?heavy_handler",
"why": "Test a moderately heavy requestAnimationFrame handler",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"cc.BeginMainFrame": { "target_duration": 0.024 },
"cc.RasterRequiredForActivation": { "target_duration": 0.024 },
"gpu.AsyncTexImage": { "target_duration": 0.024 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/raf.html?gpu_bound",
"why": "Simulate a heavily GPU bound page",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"gpu.SwapBuffers": { "target_duration": 0.1 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/raf_touch_animation.html",
"why": "Stress test for the scheduler",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays" }
]
},
{
"url": "file://tough_scheduling_cases/raf_touch_animation.html?medium",
"why": "Medium stress test for the scheduler",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"cc.BeginMainFrame": { "target_duration": 0.004 },
"cc.DrawAndSwap": { "target_duration": 0.004 }
}
}
]
},
{
"url": "file://tough_scheduling_cases/raf_touch_animation.html?heavy",
"why": "Heavy stress test for the scheduler",
"navigate_steps": [
{ "action": "navigate" },
{ "action": "set_synthetic_delays",
"delays": {
"cc.BeginMainFrame": { "target_duration": 0.012 },
"cc.DrawAndSwap": { "target_duration": 0.012 }
}
}
]
}
]
}