回答的前提是:使用OpenGL来渲染。
分几个点来回答。
1. RGBA4444真的比RGBA8888占用的RAM要少
其实这里说的RAM,是指的显存而非内存。OpenGL支持以这几种形式来使用纹理资源(viahttp://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexImage2D.xml):
GL_UNSIGNED_BYTE(RGBA8888或RGB888)
GL_UNSIGNED_SHORT_5_6_5
GL_UNSIGNED_SHORT_4_4_4_4
GL_UNSIGNED_SHORT_5_5_5_1
在程序将图片载入系统内存后,会根据你选择的形式(RGBA8888/RGB565 etc.)对其做一些处理(怎么处理后面说),然后就将这些纹理上传到显卡的显存,之后会把这些图片占用的内存删除掉。
也就是说,载入的图片在变成了显卡能处理的纹理之后,就根本不会保存在内存中,所以你可能看不到内存占用的变化。
当然,这个处理操作是由程序员自行控制(或者由你选择的框架来决定)的,你如果决定不删除它们而让它们留在内存中,那当然会占用系统内存。
2. TexturePackger导出的图片是个什么情况?
你可以拿一张图片尝试,在导出为RGBA8888和RGBA4444的时候,它们的文件大小确实是不同的。请看下面的图片,并注意我加亮的部分:
对于同一张图片,在RGBA8888格式下,唯一颜色数是5864;而RGBA4444格式下,唯一颜色数是1454,文件大小减少了80KB左右。
至于图片信息中显示的 Original Colors依然是32Bit,这是因为在图像处理软件显示图像的时候,内部使用的色彩是8888的。
#p#副标题#e#
-
异界大陆官方版450MB角色扮演
-
傲游中国2中文手机版656MB赛车竞速
-
进击的巨人游戏手机版111MB冒险游戏
-
地铁逃生正版下载手机版1GB飞行射击
-
我的世界1.14手机版735MB益智休闲
-
木筏求生raft手机版318MB角色扮演
-
马桶人沙盒空间游戏161MB | 冒险游戏2023-12-5
-
斗破苍穹三年之约手游 | 角色扮演2023-12-5
-
疯狂弹球大作战游戏21MB | 益智休闲2023-12-5
-
特技汽车平衡器3游戏177MB | 模拟器2023-12-5
-
次元召唤末世放置英雄手游453MB | 角色扮演2023-12-5
-
停车专家挑战停车场游戏68MB | 益智休闲2023-12-5
(您有什么疑问或想说的,尽管说,我们会第一时间做出反馈!) 回复 [ ] 楼取消回复