Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(3543)

Issue 6454157: Fixing a deferred canvas optimization that purges pending draws when the canvas is cleared (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 10 months ago by junov1
Modified:
11 years, 10 months ago
Reviewers:
Leon, reed1
CC:
skia-review_googlegroups.com
Base URL:
http://skia.googlecode.com/svn/trunk/
Visibility:
Public.

Description

Fixing a deferred canvas optimization that purges pending draws when the canvas is cleared It appears that the recording canvas returns a save count of 1 when the save stack is empty. In order to pass Canvas unit tests when a clear occurs, changes to SkGPipe were necessary to allow SkDeferredCanvas to set the device bounds on the SkGPipeCanvas. A positive side effect of this change is that graphics primitives that fall outside of the device bounds will now always be culled at the recording stage (as opposed playback). BUG=http://code.google.com/p/skia/issues/detail?id=782 TEST=deferred_canvas_record bench test Committed: https://code.google.com/p/skia/source/detail?r=5117

Patch Set 1 #

Patch Set 2 : #

Total comments: 3

Patch Set 3 : #

Patch Set 4 : #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+22 lines, -10 lines) Patch
M include/pipe/SkGPipe.h View 1 2 2 chunks +7 lines, -1 line 1 comment Download
M src/pipe/SkGPipeWrite.cpp View 1 2 4 chunks +8 lines, -6 lines 0 comments Download
M src/utils/SkDeferredCanvas.cpp View 1 2 3 3 chunks +7 lines, -3 lines 0 comments Download

Messages

Total messages: 8
junov1
11 years, 10 months ago (2012-08-15 18:09:36 UTC) #1
Leon
On 2012/08/15 18:09:36, junov1 wrote: lgtm, with some thoughts: SkGPipe does not do anything to ...
11 years, 10 months ago (2012-08-15 18:39:49 UTC) #2
junov1
Hmmm... this code has been broken for a long time then... Since SkDeferredCanvas fully controls ...
11 years, 10 months ago (2012-08-15 18:52:49 UTC) #3
junov1
New patch. In order to pass Canvas unit tests when a clear occurs, changes to ...
11 years, 10 months ago (2012-08-15 19:19:03 UTC) #4
Leon
https://codereview.appspot.com/6454157/diff/4001/include/pipe/SkGPipe.h File include/pipe/SkGPipe.h (right): https://codereview.appspot.com/6454157/diff/4001/include/pipe/SkGPipe.h#newcode93 include/pipe/SkGPipe.h:93: kDefaultRecordingCanvasSize = 32768, Any particular reason you changed this ...
11 years, 10 months ago (2012-08-15 19:29:12 UTC) #5
junov1
Done. New Patch.
11 years, 10 months ago (2012-08-15 19:40:21 UTC) #6
Leon
On 2012/08/15 19:40:21, junov1 wrote: > Done. New Patch. lgtm
11 years, 10 months ago (2012-08-15 19:47:40 UTC) #7
reed1
11 years, 10 months ago (2012-08-16 15:57:48 UTC) #8
http://codereview.appspot.com/6454157/diff/2002/include/pipe/SkGPipe.h
File include/pipe/SkGPipe.h (right):

http://codereview.appspot.com/6454157/diff/2002/include/pipe/SkGPipe.h#newcod...
include/pipe/SkGPipe.h:106: SkCanvas* startRecording(SkGPipeController*,
uint32_t flags = 0,
skia tabs these to align with the first argument
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b