{ "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 } } } ] } ] }