当前位置:首页 > 编程开发

手机游戏开发纹理图片优化心得

webgou13年前 (2014-02-17)编程开发298

       之前写过一些纹理与内存优化的文章,本质说的就是图片格式的选用问题。这里记录一些最近开发中关于图片优化的经验和心得。

       1、纹理压缩。  就像windows下的dds图片一样,使用纹理压缩可以极大的减少图片加载时间(意味着不会有图片加载时的卡顿),内存消耗(以pvrtc4为例,内存直接减少到原来的八分之一),和游戏渲染性能。   ios下毫无疑问是pvr了(pvrtc4)  ,android下比较变态,显卡不同,支持的纹理压缩格式也不相同,一般来说etc1的格式(pkm或ktx扩展名)是opengles2.0均支持的格式。 但是这个仅仅是理论上支持,永远不要高估山寨机的性能,在某些山寨机(或者是联想这样的准山寨机)etc1的图片也无法正常显示,甚至是会崩溃。  所以android下不推荐使用纹理压缩格式。这样比较保险点。最新测试发现,原来是部分显卡不支持非2的整次幂的etc1图片,部分显卡是支持的。所以保险起见,所有的etc1图片需要是2的整次幂。  

     2、关于纹理内存优化没有太多可说的了,无非就是减少像素位数(RGBA888-->RGB565),减少图片大小,合理使用图片(即使释放资源)

     3、图片加载速度也是比较关键的一点。  能使用纹理压缩固然很好,不能使用的话,有两个解决方法,使用异步加载(可以解决卡顿的问题),合理预加载图片。

     4、图片体积,这个关系到最终安装包的大小。虽然现在手游的安装包越来越大,但是小一些总是好事。  同样,ios下使用pvrtc4的图片,一些颜色过渡明显的,使用png图片,如果没有半透明则使用jpg图片。

           android下不考虑使用压缩纹理。  则颜色位数少的使用png8的图片格式,颜色位数较多的如果非半透明使用jpg图片,如果含有半透明使用原始png图片(一般来说这种图片不会很多)。 总体来说,使用png8和jpg来减少图片体积大小。 同样图片体积小了也有助于提高加载速度。

    5、关于webp格式。这个我之前测试过,不知道现在有没有改进。  虽然他支持半透明,并且拥有比jpg更优的压缩比,但是由于纯cpu解压,所以加载速度非常悲剧。暂不考虑

    6、关于上文提到的png8的格式,这个是一个调色板格式,也就是说如果颜色位数小于256的话,图片就不会失真。这个不要用photoshop的转换,那个算法很挫,效果很糟糕。推荐一个在线工具和一个命令行工具进行批处理。 使用命令行工具转换的png8绝大多数情况与原图一直,除非半透明渐变过渡非常强的图,这样会有明显的波纹。

       在线版本     http://tinypng.org/

       命令行版本  pngquant,   使用方法很简单   pngquant.exe --force --verbose --ext .png --ordered --speed=1 --quality=50-90  xxxx.png

        其中--ext指定输出后缀,直接指定.png就是覆盖原文件

   7、关于jpg的压缩,jpg图片虽然很小了,但是还是可以进一步压缩的。使用Image Optimizer工具可以使图片进一步减少(10%~60%)

   8、使用2d骨骼动画甚至是3d动画,可以有效减少纹理所占的内存和加载消耗,虽然会增加一些cpu运算的消耗,但是手游应该不会出现同屏多少模型的情况。 尤其是一些全屏光效,拿2d图片帧几乎无法处理,但是3d光效就可以轻易搞定。 

 

来源:http://blog.csdn.net/langresser_king/article/details/9313255

扫描二维码推送至手机访问。

版权声明:本文由知了博客发布,如需转载请注明出处。

本文链接:https://www.webgou.info/?id=577

分享给朋友:

“ 手机游戏开发纹理图片优化心得” 的相关文章

Android查询联系人信息正确操作方法

在Android操作系统中,编程爱好者们可以根据自己不同的需求对其进行一些修改来轻松的完成各种功能。这一开源系统对于各个手机厂商来说无疑是一个发展良机。我们在这里就为大家介绍一个Android查询联系人信息的方法,以帮助大家解决一些问题。下面的Android查询联系人信息的功能主要是实现查询联系人的…

出现"fatal error LNK1112: 模块计算机类型“THUMB”与目标计算机类型“ARM”冲突 "解决方法

解决办法:1.新建项目时,在"平台"->"选择要添加到当前项目中的 Platform SDK。"中,把"已安装的 SDK"全部添加到"选定的 SDK"2. 在"属性页"->"配置…

Total Commander 7.5 体验

今天下载7.5版本,发现有很多功能有许多不一样.比如关机快捷操作在主界面上就没有体现出来.…

ARM1136JF-S 处理器

ARM1136JF-S 处理器…

了解黑客的关键工具---揭开Shellcode的神秘面纱

很神秘的东西,对于网络攻击过程中的嗅探信息、漏洞剖析都是可以理解的,但真正利用漏洞入侵时,通过把一段二进制码送入后并执行,就可以获得目标机器的控制权,之后的事情是属于爱好者学习技术,还是黑客的行为,就看攻击者的一念之差...…

关于 ATF : Adobe Texture Format

 dds2atf  是一个将dds转换成atf文件的工具,...…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。