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

Issue 1216833003: Make rendering use PaintingNodes for increased efficiency. (Closed)

Created:
5 years, 5 months ago by iansf
Modified:
5 years, 5 months ago
CC:
abarth-chromium, gregsimon, jackson_old, mojo-reviews_chromium.org, qsr+mojo_chromium.org
Base URL:
git@github.com:domokit/mojo.git@master
Target Ref:
refs/heads/master
Project:
mojo
Visibility:
Public.

Description

Make rendering use PaintingNodes for increased efficiency. WIP -- need to update some tests at the least. R=abarth@chromium.org, abarth@google.com, ianh@google.com Committed: https://chromium.googlesource.com/external/mojo/+/e011e35539906e621f4cf4f1de2df4b5f93c3a98

Patch Set 1 #

Total comments: 16

Patch Set 2 : Feedback fixes plus missing critical line that makes it work #

Total comments: 32

Patch Set 3 : Cleanup and fixes for keeping stocks working #

Total comments: 4

Patch Set 4 : Fix comments I missed #

Total comments: 2

Patch Set 5 : Fixes tests and final comments #

Patch Set 6 : Verify that this version passes tests on buildbot #

Patch Set 7 : Fix issues around trying to markNeedsPaint unattached nodes #

Patch Set 8 : Different approach to calling markNeedsPaint with unattached nodes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+276 lines, -30 lines) Patch
M sky/engine/core/core.gni View 1 2 2 chunks +3 lines, -0 lines 0 comments Download
M sky/engine/core/painting/Canvas.h View 1 2 4 chunks +4 lines, -3 lines 0 comments Download
M sky/engine/core/painting/Canvas.cpp View 1 2 1 chunk +10 lines, -0 lines 0 comments Download
M sky/engine/core/painting/Canvas.idl View 1 2 2 chunks +2 lines, -1 line 0 comments Download
M sky/engine/core/painting/Drawable.h View 2 chunks +3 lines, -3 lines 0 comments Download
A sky/engine/core/painting/PaintingNode.h View 1 2 3 1 chunk +35 lines, -0 lines 0 comments Download
A sky/engine/core/painting/PaintingNode.cpp View 1 2 3 1 chunk +96 lines, -0 lines 0 comments Download
A + sky/engine/core/painting/PaintingNode.idl View 1 2 1 chunk +4 lines, -1 line 0 comments Download
M sky/engine/core/painting/PictureRecorder.h View 2 chunks +2 lines, -1 line 0 comments Download
M sky/engine/core/painting/PictureRecorder.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M sky/engine/platform/graphics/DecodingImageGenerator.h View 1 chunk +1 line, -1 line 0 comments Download
A + sky/sdk/example/raw/painting_node.dart View 2 chunks +16 lines, -7 lines 0 comments Download
M sky/sdk/lib/rendering/box.dart View 1 2 3 4 5 7 3 chunks +6 lines, -4 lines 0 comments Download
M sky/sdk/lib/rendering/object.dart View 1 2 3 4 5 6 7 4 chunks +90 lines, -6 lines 0 comments Download
M sky/sdk/lib/rendering/sky_binding.dart View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M sky/tests/resources/display_list.dart View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 12 (1 generated)
iansf
5 years, 5 months ago (2015-07-02 00:08:32 UTC) #1
Hixie
https://codereview.chromium.org/1216833003/diff/1/sky/sdk/lib/rendering/object.dart File sky/sdk/lib/rendering/object.dart (right): https://codereview.chromium.org/1216833003/diff/1/sky/sdk/lib/rendering/object.dart#newcode32 sky/sdk/lib/rendering/object.dart:32: List<RenderObject> _children; // used by _doPaint() to find out ...
5 years, 5 months ago (2015-07-02 00:19:54 UTC) #2
iansf
New version. Test updates next. https://codereview.chromium.org/1216833003/diff/1/sky/sdk/lib/rendering/object.dart File sky/sdk/lib/rendering/object.dart (right): https://codereview.chromium.org/1216833003/diff/1/sky/sdk/lib/rendering/object.dart#newcode32 sky/sdk/lib/rendering/object.dart:32: List<RenderObject> _children; // used ...
5 years, 5 months ago (2015-07-06 18:22:01 UTC) #3
abarth-chromium
https://codereview.chromium.org/1216833003/diff/20001/sky/engine/core/painting/PaintingNode.cpp File sky/engine/core/painting/PaintingNode.cpp (right): https://codereview.chromium.org/1216833003/diff/20001/sky/engine/core/painting/PaintingNode.cpp#newcode29 sky/engine/core/painting/PaintingNode.cpp:29: } Rather than having two constructors, we could just ...
5 years, 5 months ago (2015-07-06 20:50:58 UTC) #5
Hixie
https://codereview.chromium.org/1216833003/diff/20001/sky/sdk/lib/rendering/object.dart File sky/sdk/lib/rendering/object.dart (right): https://codereview.chromium.org/1216833003/diff/20001/sky/sdk/lib/rendering/object.dart#newcode297 sky/sdk/lib/rendering/object.dart:297: } catch (e, stack) { On 2015/07/06 at 20:50:58, ...
5 years, 5 months ago (2015-07-06 21:13:42 UTC) #6
iansf
Still have to fix tests, but this should address the other concerns and the rendering ...
5 years, 5 months ago (2015-07-07 20:36:47 UTC) #7
abarth-chromium
https://codereview.chromium.org/1216833003/diff/40001/sky/engine/core/painting/PaintingNode.h File sky/engine/core/painting/PaintingNode.h (right): https://codereview.chromium.org/1216833003/diff/40001/sky/engine/core/painting/PaintingNode.h#newcode16 sky/engine/core/painting/PaintingNode.h:16: class PaintingNodeDrawable : public SkDrawable { One class per ...
5 years, 5 months ago (2015-07-07 20:49:39 UTC) #8
iansf
Fixes for the comments I missed. https://codereview.chromium.org/1216833003/diff/20001/sky/engine/core/painting/PaintingNode.cpp File sky/engine/core/painting/PaintingNode.cpp (right): https://codereview.chromium.org/1216833003/diff/20001/sky/engine/core/painting/PaintingNode.cpp#newcode29 sky/engine/core/painting/PaintingNode.cpp:29: } On 2015/07/06 ...
5 years, 5 months ago (2015-07-07 21:11:23 UTC) #9
abarth-chromium
lgtm https://codereview.chromium.org/1216833003/diff/10015/sky/sdk/lib/rendering/object.dart File sky/sdk/lib/rendering/object.dart (right): https://codereview.chromium.org/1216833003/diff/10015/sky/sdk/lib/rendering/object.dart#newcode256 sky/sdk/lib/rendering/object.dart:256: final sky.PaintingNode _paintingNode = new sky.PaintingNode(); // only ...
5 years, 5 months ago (2015-07-07 21:22:29 UTC) #10
abarth-chromium
lgtm
5 years, 5 months ago (2015-07-08 21:22:51 UTC) #11
iansf
5 years, 5 months ago (2015-07-08 22:08:28 UTC) #12
Message was sent while issue was closed.
Committed patchset #8 (id:130001) manually as
e011e35539906e621f4cf4f1de2df4b5f93c3a98 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698