Upstream version 7.35.144.0
[platform/framework/web/crosswalk.git] / src / tools / perf / page_sets / tough_scheduling_cases.json
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     },
11     {
12       "url": "file://tough_scheduling_cases/simple_text_page.html?main_busy",
13       "why": "Simulate oversubscribed main thread",
14       "synthetic_delays": {
15         "cc.BeginMainFrame": { "target_duration": 0.008 }
16       }
17     },
18     {
19       "url": "file://tough_scheduling_cases/simple_text_page.html?main_very_busy",
20       "why": "Simulate oversubscribed main thread",
21       "synthetic_delays": {
22         "cc.BeginMainFrame": { "target_duration": 0.024 }
23       }
24     },
25     {
26       "url": "file://tough_scheduling_cases/simple_text_page.html?medium_layers",
27       "why": "Simulate a page with a a few graphics layers",
28       "synthetic_delays": {
29         "cc.BeginMainFrame": { "target_duration": 0.004 },
30         "cc.DrawAndSwap": { "target_duration": 0.004 },
31         "gpu.SwapBuffers": { "target_duration": 0.004 }
32       }
33     },
34     {
35       "url": "file://tough_scheduling_cases/simple_text_page.html?many_layers",
36       "why": "Simulate a page with many graphics layers",
37       "synthetic_delays": {
38         "cc.BeginMainFrame": { "target_duration": 0.012 },
39         "cc.DrawAndSwap": { "target_duration": 0.012 },
40         "gpu.SwapBuffers": { "target_duration": 0.012 }
41       }
42     },
43     {
44       "url": "file://tough_scheduling_cases/simple_text_page.html?medium_raster",
45       "why": "Simulate a page with expensive recording and rasterization",
46       "synthetic_delays": {
47         "cc.BeginMainFrame": { "target_duration": 0.004 },
48         "cc.RasterRequiredForActivation": { "target_duration": 0.004 },
49         "gpu.AsyncTexImage": { "target_duration": 0.004 }
50       }
51     },
52     {
53       "url": "file://tough_scheduling_cases/simple_text_page.html?heavy_raster",
54       "why": "Simulate a page with expensive recording and rasterization",
55       "synthetic_delays": {
56         "cc.BeginMainFrame": { "target_duration": 0.024 },
57         "cc.RasterRequiredForActivation": { "target_duration": 0.024 },
58         "gpu.AsyncTexImage": { "target_duration": 0.024 }
59       }
60     },
61     {
62       "url": "file://tough_scheduling_cases/touch_handler_scrolling.html",
63       "why": "Touch handler scrolling baseline"
64     },
65     {
66       "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?medium_handler",
67       "why": "Medium cost touch handler",
68       "synthetic_delays": {
69         "blink.HandleInputEvent": { "target_duration": 0.008 }
70       }
71     },
72     {
73       "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?slow_handler",
74       "why": "Slow touch handler",
75       "synthetic_delays": {
76         "blink.HandleInputEvent": { "target_duration": 0.024 }
77       }
78     },
79     {
80       "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?janky_handler",
81       "why": "Touch handler that often takes a long time",
82       "synthetic_delays": {
83         "blink.HandleInputEvent": { "target_duration": 0.024, "mode": "alternating" }
84       }
85     },
86     {
87       "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?occasionally_janky_handler",
88       "why": "Touch handler that occasionally takes a long time",
89       "synthetic_delays": {
90         "blink.HandleInputEvent": { "target_duration": 0.024, "mode": "oneshot" }
91       }
92     },
93     {
94       "url": "file://tough_scheduling_cases/touch_handler_scrolling.html?super_slow_handler",
95       "why": "Super expensive touch handler causes browser to scroll after a timeout",
96       "synthetic_delays": {
97         "blink.HandleInputEvent": { "target_duration": 0.2 }
98       }
99     },
100     {
101       "url": "file://tough_scheduling_cases/div_touch_handler.html",
102       "why": "Super expensive touch handler that only occupies a part of the page",
103       "synthetic_delays": {
104         "blink.HandleInputEvent": { "target_duration": 0.2 }
105       }
106     },
107     {
108       "url": "file://tough_scheduling_cases/raf.html",
109       "why": "requestAnimationFrame scrolling baseline"
110     },
111     {
112       "url": "file://tough_scheduling_cases/raf_canvas.html",
113       "why": "Test canvas blocking behavior"
114     },
115     {
116       "url": "file://tough_scheduling_cases/raf.html?medium_handler",
117       "why": "Test a moderately heavy requestAnimationFrame handler",
118       "synthetic_delays": {
119         "cc.BeginMainFrame": { "target_duration": 0.004 },
120         "cc.RasterRequiredForActivation": { "target_duration": 0.004 },
121         "gpu.AsyncTexImage": { "target_duration": 0.004 }
122       }
123     },
124     {
125       "url": "file://tough_scheduling_cases/raf.html?heavy_handler",
126       "why": "Test a moderately heavy requestAnimationFrame handler",
127       "synthetic_delays": {
128         "cc.BeginMainFrame": { "target_duration": 0.024 },
129         "cc.RasterRequiredForActivation": { "target_duration": 0.024 },
130         "gpu.AsyncTexImage": { "target_duration": 0.024 }
131       }
132     },
133     {
134       "url": "file://tough_scheduling_cases/raf.html?gpu_bound",
135       "why": "Simulate a heavily GPU bound page",
136       "synthetic_delays": {
137         "gpu.SwapBuffers": { "target_duration": 0.1 }
138       }
139     },
140     {
141       "url": "file://tough_scheduling_cases/raf.html?heavy_first_frame",
142       "why": "Test a requestAnimationFrame handler with a heavy first frame",
143       "synthetic_delays": {
144         "cc.BeginMainFrame": { "target_duration": 0.15 }
145       }
146     },
147     {
148       "url": "file://tough_scheduling_cases/raf_animation.html",
149       "why": "Test a requestAnimationFrame handler with concurrent CSS animation"
150     },
151     {
152       "url": "file://tough_scheduling_cases/raf_touch_animation.html",
153       "why": "Stress test for the scheduler"
154     },
155     {
156       "url": "file://tough_scheduling_cases/raf_touch_animation.html?medium",
157       "why": "Medium stress test for the scheduler",
158       "synthetic_delays": {
159         "cc.BeginMainFrame": { "target_duration": 0.004 },
160         "cc.DrawAndSwap": { "target_duration": 0.004 }
161       }
162     },
163     {
164       "url": "file://tough_scheduling_cases/raf_touch_animation.html?heavy",
165       "why": "Heavy stress test for the scheduler",
166       "synthetic_delays": {
167         "cc.BeginMainFrame": { "target_duration": 0.012 },
168         "cc.DrawAndSwap": { "target_duration": 0.012 }
169       }
170     },
171     {
172       "url": "file://tough_scheduling_cases/split_animation.html",
173       "why": "Both main and impl thread animating concurrently",
174       "smoothness": { "action": "wait", "seconds": 3 }
175     }
176   ]
177 }