Skip to content

求助作者关于大图片渲染问题 #541

Answered by domchen
yuerolling asked this question in Q&A
Discussion options

You must be logged in to vote

用Image::makeRasterize(scale)就是推荐的方案。不用你额外处理什么。这个是只缓存小图纹理的。tgfx的设计和skia在这里会很不一样,我们不缓存CPU数据,也就是图片解码完的像素数据会丢掉。所以过程是原图解码,原图缩小渲染到小图纹理上。然后过程的大图和大纹理都会被释放掉。你后面一直拿着这个小图去渲染就行。内存就是只占用这一份小图的。前提是你不要自己解码图片。永远都用最轻量的原始数据去构造Image,比如有路径就使用路径,那么这个Image永远都只占用一个路径字符串的内存。只是需要缓存的时候才解码一次。解码完就扔掉所有中间数据。

Replies: 1 comment 11 replies

Comment options

You must be logged in to vote
11 replies
@domchen
Comment options

Answer selected by domchen
@yuerolling
Comment options

@domchen
Comment options

@domchen
Comment options

@yuerolling
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants