| Index: tools/perf/page_sets/tough_scheduling_cases.json
|
| diff --git a/tools/perf/page_sets/tough_scheduling_cases.json b/tools/perf/page_sets/tough_scheduling_cases.json
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..89224cfbd5cff6988276457b6110f52e6e7c0a04
|
| --- /dev/null
|
| +++ b/tools/perf/page_sets/tough_scheduling_cases.json
|
| @@ -0,0 +1,170 @@
|
| +{
|
| + "description": "Tough scheduler latency test cases",
|
| + "smoothness": {
|
| + "action": "scroll"
|
| + },
|
| + "pages": [
|
| + {
|
| + "url": "file://tough_scheduling_cases/simple_text_page.html",
|
| + "why": "Simple scrolling baseline"
|
| + },
|
| + {
|
| + "url": "file://tough_scheduling_cases/simple_text_page.html#main_busy",
|
| + "why": "Simulate oversubscribed main thread",
|
| + "navigate_steps": [
|
| + { "action": "navigate" },
|
| + { "action": "synthetic_delay", "name": "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": "synthetic_delay", "name": "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": "synthetic_delay", "name": "cc.BeginMainFrame", "target_duration": 0.004 },
|
| + { "action": "synthetic_delay", "name": "cc.DrawAndSwap", "target_duration": 0.004 },
|
| + { "action": "synthetic_delay", "name": "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": "synthetic_delay", "name": "cc.BeginMainFrame", "target_duration": 0.012 },
|
| + { "action": "synthetic_delay", "name": "cc.DrawAndSwap", "target_duration": 0.012 },
|
| + { "action": "synthetic_delay", "name": "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": "synthetic_delay", "name": "cc.BeginMainFrame", "target_duration": 0.004 },
|
| + { "action": "synthetic_delay", "name": "cc.RasterRequiredForActivation", "target_duration": 0.004 },
|
| + { "action": "synthetic_delay", "name": "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": "synthetic_delay", "name": "cc.BeginMainFrame", "target_duration": 0.024 },
|
| + { "action": "synthetic_delay", "name": "cc.RasterRequiredForActivation", "target_duration": 0.024 },
|
| + { "action": "synthetic_delay", "name": "gpu.AsyncTexImage", "target_duration": 0.024 }
|
| + ]
|
| + },
|
| + {
|
| + "url": "file://tough_scheduling_cases/touch_handler_scrolling.html",
|
| + "why": "Touch handler scrolling baseline"
|
| + },
|
| + {
|
| + "url": "file://tough_scheduling_cases/touch_handler_scrolling.html#medium_handler",
|
| + "why": "Medium cost touch handler",
|
| + "navigate_steps": [
|
| + { "action": "navigate" },
|
| + { "action": "synthetic_delay", "name": "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": "synthetic_delay", "name": "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": "synthetic_delay", "name": "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": "synthetic_delay", "name": "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": "synthetic_delay", "name": "blink.HandleInputEvent", "target_duration": 0.2 }
|
| + ]
|
| + },
|
| + {
|
| + "url": "file://tough_scheduling_cases/raf.html",
|
| + "why": "requestAnimationFrame scrolling baseline"
|
| + },
|
| + {
|
| + "url": "file://tough_scheduling_cases/raf_canvas.html",
|
| + "why": "Test canvas blocking behavior"
|
| + },
|
| + {
|
| + "url": "file://tough_scheduling_cases/raf.html#medium_handler",
|
| + "why": "Test a moderately heavy requestAnimationFrame handler",
|
| + "navigate_steps": [
|
| + { "action": "navigate" },
|
| + { "action": "synthetic_delay", "name": "cc.BeginMainFrame", "target_duration": 0.004 },
|
| + { "action": "synthetic_delay", "name": "cc.RasterRequiredForActivation", "target_duration": 0.004 },
|
| + { "action": "synthetic_delay", "name": "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": "synthetic_delay", "name": "cc.BeginMainFrame", "target_duration": 0.024 },
|
| + { "action": "synthetic_delay", "name": "cc.RasterRequiredForActivation", "target_duration": 0.024 },
|
| + { "action": "synthetic_delay", "name": "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": "synthetic_delay", "name": "gpu.SwapBuffers", "target_duration": 0.1 }
|
| + ]
|
| + },
|
| + {
|
| + "url": "file://tough_scheduling_cases/raf_touch_animation.html",
|
| + "why": "Stress test for the scheduler"
|
| + },
|
| + {
|
| + "url": "file://tough_scheduling_cases/raf_touch_animation.html#medium",
|
| + "why": "Medium stress test for the scheduler",
|
| + "navigate_steps": [
|
| + { "action": "navigate" },
|
| + { "action": "synthetic_delay", "name": "cc.BeginMainFrame", "target_duration": 0.004 },
|
| + { "action": "synthetic_delay", "name": "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": "synthetic_delay", "name": "cc.BeginMainFrame", "target_duration": 0.012 },
|
| + { "action": "synthetic_delay", "name": "cc.DrawAndSwap", "target_duration": 0.012 }
|
| + ]
|
| + }
|
| + ]
|
| +}
|
|
|