DescriptionThis moves one of the optimizations in https://codereview.appspot.com/7294049/ from the filter tool to SkPictureRecord. This optimization removes saveLayer/restore from the opcode stream when a saveLayer/drawbitmaprect/restore trio is seen and the saveLayer's paint can be folded into the drawBitmapRect's paint.
The results are roughly the same as in the filter case:
Executing desk_gmailthread.skp 13
Executing tabl_onlinewsj.skp 12
Executing tabl_ukwsj.skp 12
tabl_ukwsj.skp tile_256x256_gpu c 40.14 39.44 +0.70 +1.7%
desk_gmailthread.skp tile_256x256_gpu c 12.47 12.20 +0.27 +2.2%
tabl_onlinewsj.skp tile_256x256_gpu c 47.00 44.95 +2.05 +4.4%
desk_gmailthread.skp tile_256x256 c 4.98 4.94 +0.04 +0.8%
tabl_onlinewsj.skp tile_256x256 c 26.46 26.03 +0.43 +1.6%
tabl_ukwsj.skp tile_256x256 c 23.99 23.56 +0.43 +1.8%
Patch Set 1 #Patch Set 2 : patch #Patch Set 3 : Fix Mac compiler complaint #
Total comments: 10
Patch Set 4 : Addressed code review issues #Patch Set 5 : Disable optimization when saveLayer has bounds #Patch Set 6 : Fix signed/unsigned compiler warnings #MessagesTotal messages: 8
|