求助作者关于大图片渲染问题 #541
Answered
by
domchen
yuerolling
asked this question in
Q&A
求助作者关于大图片渲染问题
#541
-
咨询下,比如说6M或者更大的图片,tgfx 有提供生成缩略图 保存为小内存image的功能么,还是说这个只能自己去引入三方库做标准的图片压缩,再用tgfx渲染,另外如果支持的话 对png jpg webp(静态的非动图)都支持友好吧 |
Beta Was this translation helpful? Give feedback.
Answered by
domchen
Apr 15, 2025
Replies: 1 comment 11 replies
-
我现在采用的是这种方式 ,这个只是生成压缩的gpu 纹理吧 ,本身如果这个图片的尺寸很大,比如说 10M是不是这个方式也不行,还是得压缩图片本身 // 如果需要压缩并且图像尺寸超过目标尺寸
|
Beta Was this translation helpful? Give feedback.
11 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
用Image::makeRasterize(scale)就是推荐的方案。不用你额外处理什么。这个是只缓存小图纹理的。tgfx的设计和skia在这里会很不一样,我们不缓存CPU数据,也就是图片解码完的像素数据会丢掉。所以过程是原图解码,原图缩小渲染到小图纹理上。然后过程的大图和大纹理都会被释放掉。你后面一直拿着这个小图去渲染就行。内存就是只占用这一份小图的。前提是你不要自己解码图片。永远都用最轻量的原始数据去构造Image,比如有路径就使用路径,那么这个Image永远都只占用一个路径字符串的内存。只是需要缓存的时候才解码一次。解码完就扔掉所有中间数据。