| 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..418e0f1324f1dccb74af28875f3edc5920d6ad17
|
| --- /dev/null
|
| +++ b/tools/perf/page_sets/tough_scheduling_cases.json
|
| @@ -0,0 +1,266 @@
|
| +{
|
| + "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 }
|
| + }
|
| + }
|
| + ]
|
| + }
|
| + ]
|
| +}
|
|
|