| OLD | NEW |
| (Empty) | |
| 1 Sky's Run Loop |
| 2 ============== |
| 3 |
| 4 Sky's run loop consists of running the following, at 120Hz (each loop |
| 5 takes 8.333ms): |
| 6 |
| 7 1. Send scroll and resize events if necessary, limiting each handler |
| 8 to 1ms, and limiting the total time spent on these handlers to 1ms. |
| 9 |
| 10 2. Update as much of layout as possible; after 1ms, stop, leaving the |
| 11 remaining nodes unprepared. |
| 12 |
| 13 3. Update as much of paint as possible; after 1ms, stop, leaving the |
| 14 remaining nodes unprepared. |
| 15 |
| 16 4. Send frame to GPU. |
| 17 |
| 18 5. Run pending tasks until the 8.333ms expires. Each task may only run |
| 19 for at most 1ms, after 1ms they get a (catchable) EDeadlineExceeded |
| 20 exception. While there are no pending tasks, sleep. |
| 21 |
| 22 TODO(ianh): Update the timings above to have some relationship to |
| 23 reality. |
| OLD | NEW |