ios和android游戏纹理优化和内存优化

本文探讨了游戏开发中各种纹理格式(如PVRTC、ETC、PNG、JPG和Grunt-PNG8)的优缺点,以及如何根据不同游戏场景选择合适的格式,以平衡性能、内存消耗和安装包大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pvrtc 和 etc是硬件支持的格式,因此,不会进行内存和显存解码,将会省许多
同时,由于不会解码,那CPU到GPU的传输量就会变少,在手机平台这种总线带宽小的设备上,可以得到一定量的性能提升。

但pvrtc只适合IOS,etc适合android, 需要做两个平台的分别优化,并且etc1(刚刚有修改,先前是说的etc,随着OPENGL ES 3.0的发布,etc2也出了,支持ALPHA通道,但就目前的市场,可以不用考虑)不支持ALPHA通道,所以需要解决一些问题。

png24/32是无压缩格式的RGBA通道,质量是最好的
JPG是有损压缩的格式,不支持ALPHA通道,但是是安装包最小的。

但JPG会进行内存解压,也就是说,一个JPG读入到内存后,与png24/32读入内存是一样的。

综上可知各种格式的优缺点

prvtc,etc不仅可以减少安装包大小,也能减少内存显存开销,并能提升一定的性能
png24/32可以保证原始质量,但内存和安装包大小 会很大
jpg不能省内存显存,但jpg可以使安装包较小,且它不支持ALPHA通道。

而对于pvrtc,etc打出来的文件大小,比jpg要大得多。

在此,我们还可能会用到一种叫 grunt - png8的压缩格式,这种格式可以将png24/32压缩到1/4的大小,且几乎可以维持图像质量需求,这个比JPG大,但支持ALPHA通道。

那选择策略就需要针对不同的资源进行优化了

1、如果游戏是那种大量关卡资源,但同关卡中出现的资源和元素较少,这种一般不会有内存和性能瓶颈,那可以选择JPG+grunt-PNG8,这样一来,可以将安装包大小减少到1/4左右
2、如果游戏是那种同屏复杂度较大的,那就需要对游戏中的元素分类处理了, 一般对于UI,直接使用png8即可, 对于单张场景,我们使用JPG,对于里面的小元素,比如特效,人物精灵动画等,则建议使用pvrtc或者etc格式。

纹理格式的选择不是死的,只要你明白了不同格式的优缺点,那就可以很容易地做出判断。。

参考文章

https://blog.youkuaiyun.com/u013704666/article/details/38906743

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值