Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Side by Side Diff: sky/specs/runloop.md

Issue 835973003: Specs: Move the LayoutManager and RenderNode logic from Element to (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sky/specs/dom.md ('k') | sky/specs/style.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Sky's Run Loop 1 Sky's Run Loop
2 ============== 2 ==============
3 3
4 Sky's run loop consists of running the following, at 120Hz (each loop 4 Sky's run loop consists of running the following, at 120Hz (each loop
5 takes 8.333ms): 5 takes 8.333ms):
6 6
7 1. Send scroll and resize events if necessary, limiting each handler 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. 8 to 1ms, and limiting the total time spent on these handlers to 1ms.
9 9
10 2. Update as much of layout as possible; after 1ms, stop, leaving the 10 2. Fire animation frame callbacks for up to 1ms. Each callback can run
11 remaining nodes unprepared. 11 for up to 1ms. Once 1ms has expired, throw a (catchable)
12 EDeadlineExceeded exception. If it's not caught, drop subsequent
13 callbacks.
12 14
13 3. Update as much of paint as possible; after 1ms, stop, leaving the 15 3. Spend up to 1ms to update the render tree, including calling
14 remaining nodes unprepared. 16 childAdded(), childRemoved(), and getLayoutManager() as needed.
17 Once 1ms has expired, throw a (catchable) EDeadlineExceeded
18 exception, leaving the render tree in whatever state it has
19 reached.
15 20
16 4. Send frame to GPU. 21 4. Update as much of layout as possible; after 1ms, throw a
22 (catchable) EDeadlineExceeded exception, leaving the remaining
23 nodes unprepared.
17 24
18 5. Run pending tasks until the 8.333ms expires. Each task may only run 25 5. Update as much of paint as possible; after 1ms, throw a (catchable)
26 EDeadlineExceeded exception, leaving any remaining nodes
27 unprepared.
28
29 6. Send frame to GPU.
30
31 7. 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 32 for at most 1ms, after 1ms they get a (catchable) EDeadlineExceeded
20 exception. While there are no pending tasks, sleep. 33 exception. While there are no pending tasks, sleep.
34 Tasks are thingsl like:
35 - timers
36 - updating the DOM in response to parsing
37 - input events
38 - mojo callbacks
21 39
22 TODO(ianh): Update the timings above to have some relationship to 40 TODO(ianh): Update the timings above to have some relationship to
23 reality. 41 reality.
OLDNEW
« no previous file with comments | « sky/specs/dom.md ('k') | sky/specs/style.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698