Currently each canvas update performs a full buffer copy of the previous buffer (in skia's copy-on-write if the texture is used directly or the GpuMemoryBuffer path copying from SkSurface's allocated texture). As we move this resource management out of skia, its worth trying to do some damage tracking so that only the changed contents are copied, similar to display compositor's BufferQueue.
I think the damage in each frame could easily be tracked at PaintCanvas level while issuing paint commands, we already compute this for image ops to avoid decoding images for ops which are clipped out.
Comment 1 by vmiura@google.com
, Nov 14Status: Available (was: Untriaged)