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