summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/scheduler/links.md
blob: 92bedcfcc307b5825db60d84a9888bf4285df25b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Scheduling docs 

The following is a collection of scheduling-related documentation about the
Blink Scheduler as well as other schedulers in Chrome.

## 2018
* [Browser-side scheduling roadmap](https://docs.google.com/document/d/1yxjka3kyKieEWP6gRlLyXVy72DJ5Gc22Nqp9vehFj14/edit)
* [Browser UI thread scheduler](https://docs.google.com/document/d/1z1BDq9vzcEpkhN9LSPF5XMnZ0kLJ8mWWkNAi4OI7cos/edit)
* [Browser IO thread scheduling for input latency](https://docs.google.com/document/d/12waKYiZOOu1DwUJO5faSonq9OwRIJuaP0GavClPTHWY/edit)
* [Off Main Thread: Scheduling API](https://docs.google.com/document/d/1SGWR1LrrgOUWHNJZU6JfUC89dCMSIXP7TH8RmoWLqyc/edit)
* [Task traits for sequence scheduling in //content](https://docs.google.com/document/d/1SGy9VTXUwyXEX_yBZ0ukFAnS8B0hDeMUJD-1iALaE-Q/edit)
* [Stop more task queues in background on Android](https://docs.google.com/document/d/10D2uvOVxBZ2YhcwtK1XOb6CClminPpqAeS82KOVT7hk/edit)
* [Discussion of more graceful worker shutdown](https://docs.google.com/document/d/11waILCkPehUfML6_defbpkNk4mau6qiK8f7qXtqauwY/edit)
* [Stop loading in background on Android](https://docs.google.com/document/d/1DEGgG9HfA2ixJpXQDsKbYCJJyHILWz3CQmuNEJr9Xho/edit)
* [Android startup performance tweaks](https://docs.google.com/document/d/1rGbdF0Rjv0wl7dEQ4kGj2f79Q20MlIv7ch9MSlm2G3M/edit#heading=h.e7o0jj9sx1od)
* [C++ Promises for Chromium](https://docs.google.com/document/d/1l12PAJgEtlrqTXKiw6mk2cR2jP7FAfCCDr-DGIdiC9w/edit)
* [C++ Promise/Future/Coroutine in Chromium](https://docs.google.com/document/d/1RThP0a8fTyuYqpPN2zrMxt8Te9M0v3JUv1XhcquBz9E/edit)
* [Java task scheduling](https://docs.google.com/document/d/1z2ALaVDkfxurPpzDzO9dAAK3dLuLCjYViJijydPoMHs/edit)
* [Scheduling resource responses with right priority](https://docs.google.com/document/d/18WcfptovabsfE-2Nb4M_x8abVqInr-94fno81E_NcJk/edit)
* [Refactor EventQueue](https://docs.google.com/document/d/1BBtBPTarOF4NeVKSWZe3XaDHo4yTGhdlqYm35yVzPs4/edit)
* [Looking into scrolling lag](https://docs.google.com/document/d/1l2e3B6Ad0mqMRqs3_cK8a-o4Po6XMhOgIZt2B5r_ZG0/edit#heading=h.2ef1y98v91gv)
* [Better scheduling metrics](https://docs.google.com/document/d/1o6QHeY8y6PssEv--Qs6uNeNWrOzTwDyrbTk9iuq2WmY/edit#heading=h.ia9zbay5xpwt)
* [Scheduler architecture 2.0](https://docs.google.com/document/d/1dk71yTd5fndb5gMSb7wlB2P80hw5ImFxbPao06Ti8EQ/edit#heading=h.7m3oi6qeqhdv)
* [Task Scheduler - Message Loop integration and migration](https://docs.google.com/document/d/1Vy7kz_9evp6xOFRQBD6M1h4qmk4EEBu0cutipQ3e6kA/edit)
* [Supporting per-frame priorities in Blink Scheduler](https://docs.google.com/document/d/1-0nNG75hfsg1WhW3Xa4yUNDQdP1D6EJ9r2tl4tmAVJM/edit)
* [Simplifying scheduler interfaces](https://docs.google.com/document/d/1oz-Rjpn6KhmQvaJF4b674Jofiy3PQQPbyngqFGlYknY/edit)
* [Using dedicated workers for background work](https://docs.google.com/document/d/1qTYo9ZQwsycJYPAuT5AKw6JYBEsSfJQR823mma3CGvQ/edit)
* [Untangling spaghetti of platform/scheduler/](https://docs.google.com/document/d/1jxM32tM-djMl7Xzy_tQbVadX1HjQ06fH0x7ofxeeSVc/edit#heading=h.34va28zf1wfu)
* [Better layering for platform/scheduler/](https://docs.google.com/document/d/1Brt1oSUrL4M_TBSl-KiCbvQt8kYxwnmqsXrmJM00ylA/edit)
* [Keyed Service scheduling](https://docs.google.com/document/d/1JCvCQvux0DW0X3tyfE_u70Fvpspfn7KDTTdJVD7M524/edit)


## 2017
* [Improved load time scheduling](https://docs.google.com/document/d/1q5uPIKyUP0X7KaQRyxWXmIzMvKF3fx1j6QPCWhjI82o/edit)
* [Wake-up based throttling](https://docs.google.com/document/d/1A87Ci3_USDyQEdlmXTO1spQxUcR_ML5zqiCsaow4NGM/edit)
* [Background tabs & offscreen frames](https://docs.google.com/document/d/18_sX-KGRaHcV3xe5Xk_l6NNwXoxm-23IOepgMx4OlE4/edit)
* [BeginFrame sequence numbers + acknowledgements](https://docs.google.com/document/d/1nxaunQ0cYWxhtS6Zzfwa99nae74F7gxanbuT5JRpI6Y/edit)
* [Background tab use cases](https://docs.google.com/document/d/16-QGneIkYNbNleoXbdD-mRMYdZAG2JIjMcTVxSC3ZWc/edit)
* [Activity traits](https://docs.google.com/document/d/1BaJpx08vbPz_1LCj9tehnatZNqh1eLPeE9xoUnWdlW4/edit#heading=h.nwhgpfhlxswr)
* [Blink and Task Scheduler integration](https://docs.google.com/document/d/1h-FlOeO-27g__JnuRvdJ8KG9G-bmG_zn6zuw7GerFkc/edit)
* [Lifecycle use cases](https://docs.google.com/document/d/16-QGneIkYNbNleoXbdD-mRMYdZAG2JIjMcTVxSC3ZWc/edit)
* [Task execution policies in Blink](https://docs.google.com/document/d/1tFI0pkLp1LCFDKRxwT6BSdA-ub8K4cZJLlCaAlqmsvM/edit)
* [Capturing task type metadata](https://docs.google.com/document/d/1Py2ZdjpaCMdpVtKfdHMITAn5gst_owjQiqlbPm3mCxc/edit)
* [Further per-frame scheduler work](https://docs.google.com/document/d/1yOhE6-1HLb3aeNWmoa9O2LlnegWjd4awYUn2OhUL4vk/edit)
* [Better tracing for Blink Scheduler](https://docs.google.com/document/d/18Iz0lVX38_ZIMNoAp4e2RpeIFcCUUU2cghDwy_aLK3k/edit)
* [Scheduling architecture roadmap: one pager](https://docs.google.com/document/d/13dQAthHRn7bkEgsb7OzG50zhxFFB1rHEDCM7ObXH1_c/edit)
* [RendererMainThreadLoad metrics](https://docs.google.com/document/d/1MvAadiO3kwSodfOIZ35k2j4oJX-zVY9FsQaSshI-vus/edit#heading=h.r8nzo35yh6ck)
* [State of the throttling](https://docs.google.com/document/d/1csir1MUkI1maqjAIzhR51LTy1pwSqeh9HDmAPTZWirw/edit)
* [Background tabs & offscreen frames](https://docs.google.com/document/d/18_sX-KGRaHcV3xe5Xk_l6NNwXoxm-23IOepgMx4OlE4/edit)
* [Prototyping cooperative scheduling](https://docs.google.com/document/d/1ennqB9cCfko6eg1a6bNoJjaypESjfFvhVup9LSJCyUg/edit)
* [Cooperative scheduling in Blink](https://docs.google.com/document/d/14WoGZ8pfD4TmOFDebE-WIgkfQ62MnOiyafQI4Zhqjzs/edit)

## 2016

* [Time-based renderer task throttling](https://drive.google.com/open?id=1vCUeGfr2xzZ67SFt2yZjNeaIcXGp2Td6KHN7bI02ySo)
* [V8 Performance Mode](https://drive.google.com/open?id=1bRVAP08qNBvnEm_vO4hW1-NqQC9-lQZjUH29_vwfYRY)
* [Isolating performance of third-party iframes](https://docs.google.com/document/d/1CEggurHQGXenhu_GQT7KnRvtSuowuenXpxVzYSeRxSY/edit)
* [Folly of Scheduling (BlinkOn 6)](https://drive.google.com/open?id=1ZMxbnSn1R1o2-NGztP0mVyOOoQg24bLSqWE1SWXnQ_E)
* [Rendering pipeline throttling (BlinkOn 6)](https://docs.google.com/presentation/d/1aPZzH7J0O29sqA_FzsuWQNDwK6CoNcAcpMvJexsO6Vg/edit)
* [Power usage impact of render pipeline throttling](https://docs.google.com/document/d/1jMuvRYWptZfP5zpvWmPJPRL-iowtgBVX45rSvew0VH4)
* [The future of TaskRunnerHandles](https://docs.google.com/document/d/1A_LRKyTOCzhRPOY4Q3RsePuw4UCsvxuFYx6D18BaYk0/edit#heading=h.xgjl2srtytjt)
* [Improved policy for blocking expensive tasks](https://docs.google.com/document/d/14VdbqN-ehgpNC4KYVpPQFiQpfxOQiVtJgYjXUJGI4f0/edit#)
* [scheduler-dev performance metrics](https://docs.google.com/document/d/15CIJ4eMnwOneshhjFxVjz3FCV7ja9lrlQOEZGWLZdgA/edit)
* [FrameBlamer](https://docs.google.com/document/d/15BB-suCb9j-nFt55yCFJBJCGzLg2qUm3WaSOPb8APtI/edit)
* [Virtual time in Blink](https://drive.google.com/open?id=1y9KDT_ZEzT7pBeY6uzVt1dgKlwc1OB_vY4NZO1zBQmo)
* [Browser I/O scheduler (Lucky Luke)](https://docs.google.com/document/d/1S2AAeoo1xa_vsLbDYBsDHCqhrkfiMgoIPlyRi6kxa5k/edit)

## 2015

* [Virtual time in Headless Chrome](https://docs.google.com/document/d/1dIMHIl1xutUXqXWRXqXrDd3bo9hachIt_ZkPK_BshUs/edit)
* [Task traits](https://docs.google.com/document/d/1d6t7CTobtXLj1gXiBE8SVl_fxJjEazATxYHYGp5ppvE)
* [Compositor and Display Scheduling presentation from scheduling summit](https://docs.google.com/presentation/d/1FpTy5DpIGKt8r2t785y6yrHETkg8v7JfJ26zUxaNDUg/edit?usp=sharing)
* [Simplifying Task Management in Chromium](https://docs.google.com/document/d/1fn0AmFsY7gWvStShOh7dUxOfHXjKgcfsr9I1ETbNe2I/edit)
* [Outline of known work needed to fix resize](https://docs.google.com/a/chromium.org/document/d/1POLDq-L_T9iZ_Ul39sjOMiOO-yvLnmb1WFsH4JfIyVU/edit?usp=sharing_eid)
* [Blink spatial scheduling](https://docs.google.com/document/d/1k9fL01wwRliVzZW_ibPT8-B9BADz7I87hpFoXFG37aI/edit?pli=1#)
* [Throttling Blink's rendering pipeline for hidden content](https://docs.google.com/document/d/1Dd4qi1b_iX-OCZpelvXxizjq6dDJ76XNtk37SZEoTYQ/edit)
* [Scheduling to avoid checkerboard in Chrome](https://docs.google.com/document/d/1OLp7x06CjBY-0J3TBQzXw8sALHznIx4rYixvnBTbUUA/edit#heading=h.9i2v5u7um22b)
* [State of GPU scheduling](https://docs.google.com/document/d/15gbHgXPyhSlNu1Ku9HF-of8BNOpvsziV1F8IE-kRax4/edit#heading=h.jermw4ib9rwc)
* [Scheduling architecture diagram](https://docs.google.com/drawings/d/1xcHpqhdcIsX0b_sGPuU1SZCsY87UTqJ67qvvbF29oLM/edit)
* [Event dispatch diagram](https://docs.google.com/drawings/d/1bUukRm-DV34sM7rL2_bSdxaQkZVMQ_5vOa7nzDnmnx8/edit)
* [Proxying MessageLoop tasks to the Scheduler](https://docs.google.com/a/chromium.org/document/d/1qxdh2I61_aB_Uzh1QgNqvdWFBCL_E65G2smoSySw7KU/edit#heading=h.vit0krths7ns)
* [Scheduling JS timer execution](https://docs.google.com/a/chromium.org/document/d/163ow-1wjd6L0rAN3V_U6t12eqVkq4mXDDjVaA4OuvCA/edit?usp=sharing_eid)
* [PSA: How to write reliable layout tests](https://docs.google.com/a/chromium.org/document/d/1Yl4SnTLBWmY1O99_BTtQvuoffP8YM9HZx2YPkEsaduQ/edit#heading=h.ui2te0d6ongo)
* [Long Idle Tasks: Coupling wagons to the Blink Midnight Train](https://docs.google.com/a/chromium.org/document/d/1yBlUdYW8VTIfB-DqhvQqUeP0kf-Ap1W4cao2yQq58Do/edit?pli=1#heading=h.g9y2fheuia8t)
* [Cooperative scheduling in Javascript](https://docs.google.com/a/chromium.org/document/d/1Jb0DRcIeHHFldlI8wkQJ4uAyTZLzNOvH161VBJUF_Oc/edit#)

## 2014

* [Blink Scheduler talk at BlinkOn 3](https://docs.google.com/presentation/d/1V09Qq08_jOucvOFs-C7P4Hz2Vsswa6imqLxAf7ONomQ/edit#slide=id.p)
* [Blink Scheduler](https://docs.google.com/a/chromium.org/document/d/11N2WTV3M0IkZ-kQlKWlBcwkOkKTCuLXGVNylK5E2zvc/edit#heading=h.3ay9sj44f0zd)
* [Blink Scheduler refactoring](https://docs.google.com/a/chromium.org/document/d/16f_RIhZa47uEK_OdtTgzWdRU0RFMTQWMpEWyWXIpXUo/edit#) (moving from Blink to content)
* [Idle Tasks in the Blink Scheduler](https://docs.google.com/a/chromium.org/document/d/1bXcZ45iCr9NPP6UDbY57RCKgSndgaBt9tSgwxV0sg1o/edit)
* [Resource loading tasks and the Blink Scheduler](https://docs.google.com/a/chromium.org/document/d/1kLdtb718AEetE64gL-MmM0YRh7kAkxPpWDRa7OI-scI/edit?usp=sharing_eid)
* [Blink Scheduler friendly HTMLDocumentParser](https://docs.google.com/a/chromium.org/document/d/1Ofil50mhU9IuDkmEdbde18uxquA3WsEdI3vCyYzzDyc/edit#heading=h.fr9ldspsaw6g)
* [Trustable Future Sync Points](https://docs.google.com/document/d/1qqu8c5Gp1faY-AY4CgER-GKs0w7GXlR5YJ-BaIZ4auo/edit?usp=sharing)
* [Unified VSync Scheduling](https://docs.google.com/document/d/13xtO-_NSSnNZRRS1Xq3xGNKZawKc8HQxOid5boBUyX8/edit?usp=sharing)
* [VSync-Aligned Buffered Input](https://docs.google.com/document/d/1L2JTgYMksmXgujKxxhyV45xL8jNhbCh60NQHoueKyS4/edit?usp=sharing)
* [London Perf Summit - Chrome Scheduling](https://docs.google.com/presentation/d/1I105Uk7nlH_Kj4UaqC7Ygkw3eNuDINQXPtYYSusW8Ho/edit?usp=sharing)
* [GPU Service Scheduling Latency](https://docs.google.com/document/d/1hjVckIpb9WBE7A9HUxAmutRJEgSkZO_JAFfgwOE-8NE/edit?usp=sharing)
* Related
  * [Sync Point Shader Arguments](https://docs.google.com/document/d/1GlnjZI0jDNPXZIlhdcU135BGnsP7T3WY0UR4IwjEILU/edit?usp=sharing)
  * [Asynchronous Shader Input from the CPU](https://docs.google.com/document/d/1daXOSiYUHvDcG5dR9OUQWx6rllW127mRcxiVUTK9DdM/edit?usp=sharing)
  * [T-Sync Display Interface](https://docs.google.com/document/d/1ZoH6a-Pxsnh9Xu_2rtF5jss2d352Klpu_23urKghaH0/edit?usp=sharing)
  * [Surfaces](https://docs.google.com/a/chromium.org/document/d/1RxbffpK_GxPtZscXgIEN0N9ZT7IC8BObnbx9ynw92qg/edit?pli=1)
  * [Better Video Frame Scheduling](https://docs.google.com/a/chromium.org/document/d/1xauQd5Tt2MuM82MAwIqIW7IEkVj4VnjWBB-zUODfERQ)

## 2013

* [Synthetic Scheduler Tests](https://docs.google.com/a/chromium.org/document/d/17yhE5Po9By0sCdM1yZT3LiUECaUr_94rQt9j-4tOQIM)
* [Chrome Frame Synchronization](https://docs.google.com/presentation/d/1q2WU0LusCyQFKDMjOSWLj3xGeOxMWmLzConrC8euJpA/edit?usp=sharing)
* [Chrome Scheduling Overhaul Phase 1](https://docs.google.com/document/d/1LUFA8MDpJcDHE0_L2EHvrcwqOMJhzl5dqb0AlBSqHOY/edit?usp=sharing)
* [Chrome Scheduling Overhaul Phase 2](https://docs.google.com/document/d/1VJf2busac85FRQYXhn8hdc-x4yp77JUroTrY-_sj5Ck/edit?usp=sharing)
* [Improved vsync scheduling for Chrome on Android](https://docs.google.com/a/chromium.org/document/d/16822du6DLKDZ1vQVNWI3gDVYoSqCSezgEmWZ0arvkP8/edit)
* [ZilCh](https://docs.google.com/document/d/1HmS0YQtWg2ToY67fE8A33PJUyPSwGUwUCLMk_zjK7ik/edit?usp=sharing)

## Miscellaneous

* [Rendering for "Glass Time"](https://docs.google.com/a/google.com/presentation/d/1oKEunkaeiTwznGaIX_yIhe6HPfZBXhtv8r5J5hz52UI/edit#slide=id.g2b8380fec_0129)
* [Motion Vectors: An interface between Render and Input Systems](http://www.google.com/url?q=http%3A%2F%2Fgo%2Finput-motion-vectors&sa=D&sntz=1&usg=AFQjCNF0sC31c9FLCscR8HtXiz_kP5EaPw)
* [Begin Frame / VSync Design Diagram](https://docs.google.com/a/chromium.org/drawings/d/1WEj-6A-8FmJNIMbd9hvkvxAuOOTwQvkSjbKR79YCt-c/edit)