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

Issue 1873573003: Mozart: Ensure time always runs forward. (Closed)

Created:
4 years, 8 months ago by jeffbrown
Modified:
4 years, 8 months ago
Reviewers:
abarth
CC:
Aaron Boodman, abarth-chromium, ben+mojo_chromium.org, darin (slow to review), gregsimon, mojo-reviews_chromium.org, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org
Base URL:
git@github.com:domokit/mojo.git@moz-3
Target Ref:
refs/heads/master
Project:
mojo
Visibility:
Public.

Description

Mozart: Ensure time always runs forward. Completely redesigned how scene versions are resolved. The compositor now maintains a queue of pending SceneContent objects in the Universe. During snapshotting, it attempts to find the most recent unblocked version of each scene traversed then discards all older ones. Only the most recent unblocked version can then be used from that point forward (even if a scene reference tries to specify an older version). The implementation needs improvement. Basically the naive traversal strategies are starting to fall apart even after some refactoring in this change. We'll need to replace this with an incremental invalidation mechanism, proper cross-scene dependency tracking, and some kind of partitioning of the update/snapshot scheduling based on scene reachability from the rendering roots. But at least with this change, we're finally able to see how node combinators enable interesting cross-scene synchronization strategies. We're going Back to the Future! BUG= R=abarth@google.com Committed: https://chromium.googlesource.com/external/mojo/+/9d4869f19f32ab1ef51c0f9336edda9b393cef71

Patch Set 1 #

Total comments: 2

Patch Set 2 : apply feedback #

Patch Set 3 : fix build error on Android #

Unified diffs Side-by-side diffs Delta from patch set Stats (+522 lines, -291 lines) Patch
M mojo/services/gfx/composition/cpp/formatting.cc View 1 chunk +1 line, -1 line 0 comments Download
M mojo/services/ui/views/cpp/formatting.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M services/gfx/compositor/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M services/gfx/compositor/compositor_engine.h View 3 chunks +5 lines, -2 lines 0 comments Download
M services/gfx/compositor/compositor_engine.cc View 8 chunks +22 lines, -18 lines 0 comments Download
M services/gfx/compositor/graph/nodes.h View 1 chunk +0 lines, -1 line 0 comments Download
M services/gfx/compositor/graph/nodes.cc View 2 chunks +1 line, -16 lines 0 comments Download
M services/gfx/compositor/graph/resources.h View 3 chunks +1 line, -14 lines 0 comments Download
M services/gfx/compositor/graph/resources.cc View 1 chunk +2 lines, -7 lines 0 comments Download
M services/gfx/compositor/graph/scene_content.h View 6 chunks +23 lines, -9 lines 0 comments Download
M services/gfx/compositor/graph/scene_content.cc View 5 chunks +25 lines, -16 lines 0 comments Download
M services/gfx/compositor/graph/scene_def.h View 4 chunks +32 lines, -37 lines 0 comments Download
M services/gfx/compositor/graph/scene_def.cc View 8 chunks +41 lines, -38 lines 0 comments Download
M services/gfx/compositor/graph/scene_label.h View 1 chunk +5 lines, -2 lines 0 comments Download
M services/gfx/compositor/graph/scene_label.cc View 1 2 2 chunks +16 lines, -7 lines 0 comments Download
M services/gfx/compositor/graph/snapshot.h View 5 chunks +29 lines, -23 lines 0 comments Download
M services/gfx/compositor/graph/snapshot.cc View 6 chunks +47 lines, -95 lines 0 comments Download
A services/gfx/compositor/graph/universe.h View 1 chunk +103 lines, -0 lines 0 comments Download
A services/gfx/compositor/graph/universe.cc View 1 1 chunk +160 lines, -0 lines 0 comments Download
M services/gfx/compositor/scene_state.h View 1 chunk +2 lines, -2 lines 0 comments Download
M services/gfx/compositor/scene_state.cc View 1 chunk +3 lines, -1 line 0 comments Download

Depends on Patchset:

Dependent Patchsets:

Messages

Total messages: 6 (2 generated)
jeffbrown
4 years, 8 months ago (2016-04-08 00:22:44 UTC) #2
abarth
LGTM I guess this makes sense for now. https://codereview.chromium.org/1873573003/diff/1/services/gfx/compositor/graph/universe.cc File services/gfx/compositor/graph/universe.cc (right): https://codereview.chromium.org/1873573003/diff/1/services/gfx/compositor/graph/universe.cc#newcode18 services/gfx/compositor/graph/universe.cc:18: auto ...
4 years, 8 months ago (2016-04-08 03:13:50 UTC) #3
jeffbrown
https://codereview.chromium.org/1873573003/diff/1/services/gfx/compositor/graph/universe.cc File services/gfx/compositor/graph/universe.cc (right): https://codereview.chromium.org/1873573003/diff/1/services/gfx/compositor/graph/universe.cc#newcode18 services/gfx/compositor/graph/universe.cc:18: auto it = scenes_.find(label.token()); On 2016/04/08 03:13:50, abarth wrote: ...
4 years, 8 months ago (2016-04-08 03:35:21 UTC) #4
jeffbrown
4 years, 8 months ago (2016-04-08 20:36:46 UTC) #6
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
9d4869f19f32ab1ef51c0f9336edda9b393cef71 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698