游戏鸟手游网,重度移动游戏垂直门户!

最新游戏 | 最新软件 | 游戏更新 | 软件更新 | 推荐游戏 | 推荐软件 | 合集排行
您的位置: 游戏鸟新闻资讯游戏产业 → 手机游戏开发如何选择和优化图像素材?

手机游戏开发如何选择和优化图像素材?[多图]

2014-4-14 12:09:10小编:mj我要评论

手机游戏开发如何选择和优化图像素材?[多图]图片1

回答的前提是:使用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的时候,它们的文件大小确实是不同的。请看下面的图片,并注意我加亮的部分:

手机游戏开发如何选择和优化图像素材?[多图]图片2

手机游戏开发如何选择和优化图像素材?[多图]图片3

对于同一张图片,在RGBA8888格式下,唯一颜色数是5864;而RGBA4444格式下,唯一颜色数是1454,文件大小减少了80KB左右。

至于图片信息中显示的 Original Colors依然是32Bit,这是因为在图像处理软件显示图像的时候,内部使用的色彩是8888的。
#p#副标题#e#

  • 相关游戏
  • 同厂商游戏
  • 最新游戏
  • 发表评论
加载更多

(您有什么疑问或想说的,尽管说,我们会第一时间做出反馈!) 回复 [ ] 楼取消回复

手游排行 热门专区 开服开测
网游排行榜 网游下载 手游开服表
单机排行榜 单机下载 新游开测表
评分排行榜 手游厂商
新游期待榜 热游视频