Hi Mike,
As per my understanding on GPU device for SKimage , there will be 2 caches. One at RAM, which captures the decoded data and another at GPU , which has uploaded texture.
Correct me if my understanding is wrong.
Based on this , thinking of below would be much beneficial for Devices with much lesser GPU memory then of CPU.
Cache only decoded data at CPU end and Avoid holding texture data on GPU.On redraw , only upload decoded data from cpu to GPU.
with this on redraw, avoid only the decoding stage. I assume decoding would take more time than uploading to GPU.
If that's true, on trade-off between memory & speed, a balance can be achieved for resource constraint devices.
Please do correct me, if theory I'm formulating here is wrong.
On the same context, Having an one query w.r.t SKBitmap on GPU Device . This is tried to see the best fit.
Tried reuse SkBitmap object for redraw, with an idea, it reuses GPU caching done on first draw.
With that there is a significant speed improvement but on each redraw with same SKBitmap object, a new copy is created @ GPU instead of reusing the cache as like SKImage.
As purging occurs only for unlocked resources on GPU, till SkBitmap object is not released, every redraw increases GPU caching. Like to know, Which part of
operation is avoided in this case.