最好的减少资源方式当然是从设计上避免。比如:
1. 减少帧动画的使用(这也是骨骼动画大行其道的原因)。
2. 尽量复用资源(比如九宫格技术,角色间通用特效,肉眼排查,等等)
3. 不得不使用帧动画的场合,考虑在某些场景下使用15fps或更低的帧率制作动画减少图量(比如UI界面上的特效)。

RGBA8888,每个像素4个字节,无压缩,效果最好!用于需要拉伸的元素,对细节要求高的图标,原画等。
RGBA565,每个像素2个字节,用于没有alpha通道的纹理,如地图背景。
RGBA4444,每个像素2个字节,适用于有alpha通道但不需要很高清的纹理。
PVRTC4,每个像素0.5个字节,pvr格式是ios硬件PowerVR图形芯片支持的压缩方式。在图片中有渐变的地方会出现分布不均匀的色条,可以用于一些序列帧特效。
ETC1,每个像素0.5个字节,大部分android支持的压缩方式,OpenGL ES 2.0标准也支持。没有alpha,需要专门生成alpha通道的图,加上alpha图的大小比pvrtc大一倍。ETC2支持alpha通道,但需要OpenGL ES 3.0标准支持。目前可以采用ETC1或者PNG/JPEG格式。

JPG + PNG8 通道分离技术,刀塔传奇采用的方式。flash很早就采用这个方式来压缩图了。原理就是把RGB色彩通道和alpha通道分离出来,分成一张24位的jpg图(JPG不含alpha通道),以及一张8位的png灰度图(灰度值代表alpha值)。只对JPG图像压缩,在程序中使用时再合并为一张图。

对于一张1024*1024的图片,RGBA8888大小为4Mb,RGBA565和RGBA4444大小为2Mb,PVRTC4和etc是0.5Mb。

无论哪种png的格式,为了在程序读取时区分4444,565,5551和8888,最后需要用texturepacker输出为pvr.ccz或者pvr.gz格式,png本身不带像素格式的信息,如果输出成png,最后到内存中又全都展开成8888了……cocos2dx里的实现是这样的。

总结:android用etc压缩格式,ios用pvr压缩格式,(ui资源用png+plist)。

相关工具:pngquant ,texturepacker。

注:本文总结自我大知乎手游的游戏资源是如何压缩的?以及手机游戏开发如何选择和优化图像素材?,感谢相关作者的无私奉献。仅为本人记录与学习所用。

手游(cocos2dx)图片资源压缩相关推荐

  1. 使用python对cocos2dx的手游图片资源进行加密

    使用python对cocos2dx的手游图片资源进行加密 导言 由于项目的需要,要对游戏的图片资源进行加密,目前比较常用的做法应该是使用TexturePacker的加密功能.但因为我们的整个打包流程都 ...

  2. 基于cocos2dx的2D手游美术资源制作技术选型(1)(2)

     基于cocos2dx的2D手游美术资源制作技术选型(1)--UI.纹理格式.动画制作 - 宏波.王 一.在屏幕尺寸和分辨率变化不一的情况下,UI如何做机型适配? UI是应用的门户,相对来说IOS ...

  3. 如何优化cocos2d-x手游内存

    内存优化 在游戏中,占用内存最多的无非就是图片资源,所以如果可以从图片资源上面进行优化,那么得到的收益将会是最大的. 资源占用 首先,先来看一下一张144X144的图片在物理磁盘上面的占用的存储空间大 ...

  4. 一、Cocos2d-x/Qt,2D手游开发方案

    一.基础 Cocos2d-x v3.0:http://www.cocos2d-x.org/download/version#Cocos2d-x Qt v5.2:http://qt-project.or ...

  5. Cocos2d-x 类COC手游与RTS(即时战略)游戏的编程实践总结

    本文乃Siliphen原创,转载请注明出处:http://blog.csdn.net/stevenkylelee 概述 先来看一段视频.这个视频很短.4分钟.是我的一个技术demo演示视频. http ...

  6. 手游安全之cocos2d-x的源码浅析(手游逆向与防护)

    一.cocos2d-x框架结构 二.cocos2d-x引擎架构 三.cocos2d-x源码结构 四.cocos2d-x源码解析 1.luaLoadBuffer函数分析 cocos2d-x-3.16/c ...

  7. 【cocos2d-x 手游研发----研发思路及感想】

          我半年前进入了目前的这家做教育行业的公司(在此之前一直从事原生态开发手游的迷茫之路),学习是一件很快乐的事情,来到这家公司我有了很多时间去学习,不管是公司业务,还是其他技术相关的.于是开始 ...

  8. 【cocos2d-x 手游研发----地图活起来了】

    谈到地图不少人都说要做地图编辑器了,但是我暂时绕过这一步,如果不用寻路地图就不能移动?寻路就是会绕过障碍物的算法. 我做了一个简单的地图的思想,就是地图分层3层:背景层.可行区域层.遮罩层,但是地图就 ...

  9. Cocos2d-x 手游开发群:296733909

    2019独角兽企业重金招聘Python工程师标准>>> #Cocos2d-x 手游开发群:296733909 转载于:https://my.oschina.net/skyhacker ...

最新文章

  1. AFAB 科目要求一个成本会计分配
  2. jboss linux 性能,搭建jprofiler对jboss性能监控
  3. java 第二天,Java复习第二天
  4. 某微型计算机指令格式如图,组成原理考试试卷
  5. Python案例:输出公元后到目前为止全部回文日期
  6. BZOJ 1040 [ZJOI2008]骑士
  7. 未能加载文件或程序集 Newtonsoft.Json, Version=4.5.0.0 的报错,解决方法
  8. 苹果Mac批量图像格式转换软件:XnConvert
  9. 【CentOS 7笔记26】,打包和压缩工具的使用#171108
  10. Kafka 分布式消息系统 基础概念剖析
  11. 工厂模式(简单、普通、抽象)
  12. 程序语言POJ 2406 Power Strings
  13. 大型三维GIS图形工作站
  14. Java栈,队列和循环队列的实现
  15. 浮窗---创建系统浮窗(可拖动)
  16. python如何在图片上添加文字_Python在图片中添加文字的两种方法
  17. sqlserver如何删库跑路
  18. torch中的expand和repeat
  19. PAROT: Translating natural language to SPARQL(PAROT:将自然语言翻译成SPARQL)--10
  20. 【论文阅读】Spatio-Temporal Graph Convolutional Networks:...Traffic Forecasting[时空图卷积网络:用于交通预测的深度学习框架](1)

热门文章

  1. mysql统一管理平台_统一用户管理平台
  2. 深入浅出单点登录---4、基于OAuth实现的统一认证
  3. vsd格式文件如何打开?
  4. 简单的商品信息爬虫——爬易迅网
  5. 7-Zip自解压sfx解决方案简介
  6. strictmath_Java StrictMath cosh()方法与示例
  7. 2022-2028全球与中国ABF基板市场现状及未来发展趋势
  8. RFM会员价值度模型
  9. 【诗经】之《秦风·无衣》
  10. Android 接入穿山甲SDK之信息流广告