forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revert of Back PaintRecord with PaintOpBuffer instead of SkPicture (p…
…atchset #49 id:950001 of https://codereview.chromium.org/2768143002/ ) Reason for revert: Breaks peach_pit-tot-chrome-pfq-informational Build #5967: https://uberchromegw.corp.google.com/i/chromeos.chrome/builders/peach_pit-tot-chrome-pfq-informational/builds/5967 Original issue's description: > Back PaintRecord with PaintOpBuffer instead of SkPicture > > Change the backing of PaintRecord to be a data structure implemented in > cc/paint instead of using SkPicture directly. This new class cribs heavily > from SkLiteDL. > > PaintRecord used to be a typedef to an SkPicture but now is a typedef to > a PaintOpBuffer. (This leaves some flexibility to change this in the > future to an interface without having to modify all of Chromium again.) > > PaintOpBuffer stores a contiguous array of ops, with the ops stored > in place. As an optimization, the first op is stored locally in the > PaintOpBuffer itself to avoid extra allocations for small pictures. > > This patch moves slow path counting from a gpu analysis canvas into > PaintOpBuffer directly. As ops are recorded, slow paths are counted, and > a PaintRecord now knows how many ops it has. This is about a 1.5% savings > for record time (gpu analysis was 2% and 0.5% overhead to record later). > > This patch also implements the SkRecordNoopSaveLayerDrawRestores > optimization from Skia at raster time. This takes save layer (just > opacity) / draw / restore commands and turns them into draws with > opacity. It moves that optimization from Blink at record time inside of > CompositingRecorder and moves it to both DisplayItemList::RasterItem > and PaintOpBuffer::playback (since a save could be either a DisplayItem > or a PaintOp). It's not as robust as Skia's solution and so misses > a few cases that Skia catches, but the rasterize and record on 10k > page agreed that performance was good enough. > > CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 > > Review-Url: https://codereview.chromium.org/2768143002 > Cr-Commit-Position: refs/heads/master@{#467335} > Committed: https://chromium.googlesource.com/chromium/src/+/f5a5ed867ba06ae56f8fc299a9eb194471277eec TBR=chrishtr@chromium.org,danakj@chromium.org,mtklein@chromium.org,thakis@chromium.org,vitalybuka@chromium.org,vmpstr@chromium.org,enne@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2839343002 Cr-Commit-Position: refs/heads/master@{#467497}
- Loading branch information
warx
authored and
Commit bot
committed
Apr 26, 2017
1 parent
145b24f
commit afc38d5
Showing
73 changed files
with
343 additions
and
2,639 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.