批量优化的iPhone / iPad的PNG显示Xcode做

我正在为ipad做一个杂志查看器,我正在为这个performance而苦恼。

我发现显示PNG最昂贵的部分是加载过程。 我知道xcode能够在构build期间优化png,并且这样的图像加载得更快。 但是我不能把所有的图像都包含进来,因为它会很大。

你知道如何优化一个任意的PNG,而不包括在构build过程中?

你知道什么是iPhone的最佳格式? 我认为,PNG应该使用RGB-8888配色scheme,但我不知道还有什么是重要的。

也许你知道imagemagick的确切参数?

我想我已经find了一个关于iPhone的png优化的好文章: http : //iphonedevelopment.blogspot.com/2008/10/iphone-optimized-pngs.html

/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/iphoneos-optimize xcode使用这个命令: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/iphoneos-optimize

看来,上面的命令使用pngcrush的修改版本来优化PNG和变换颜色通道: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush -iphone -f 0 orig.png optimized.png

优化是非常有帮助的。 我有5倍的图像加载速度更快!

我知道的最好的结果是通过ImageOptim实现的,我使用自己的PNG,而不是通过Xcode部署。 它使用pngcrush和一些其他PNG优化工具来实现最佳压缩。 据我所知,它不采用alpha预乘和字节交换。 ImageOptim也有一个很好的graphics用户界面支持拖放,可以同时粉碎多个文件。

我们使用Pngcrush来压缩大量的PNG。 你也可以试试 而且,如果你不需要透明度,那么代替PNG,你也可以尝试JPG。 但是,您可能会经历一系列的尝试和错误的过程,多次比较尺寸和质量的折衷。

在我的基准文件大小比Xcode预处理更重要(Xcode文件更大, 更慢加载)。

减lessPNG文件大小的最佳方法是将其转换为PNG8 + alpha格式 – 您可以使用pngquant (或使用GUI手动调整) 批量执行此操作。

但是,如果您的情况是从RGBA到预乘BGRA的转换花费了大量时间,那么添加XCode专有扩展的AdvanceCOMP分支将允许您将PNG批量转换为iOS本机格式。

我一直在尝试pngnq,pngquant,pngcrush,optipng等。

对于我的一套PNG,我用pngquant,pngnq和pngcrush实现了最小的文件大小

 Dir.glob("**/*.png").each do |file| ['pngnq -e .png -f', 'pngquant -f -speed 1 -ext .png', 'pngcrush'].each do |command| puts "#{command} #{file}" `#{command} #{file}` end end 

更多详情,请访问: http : //l4u.github.com/blog/2012/04/02/optimizing-file-sizes-of-png-images/

我用pngnq有很多很多的空间,但是我没有做任何testing,看看解码图像是否会降低速度。

尝试http://texturepacker.com

它不仅可以优化PNG,而且还可以减less颜色,例如RGBA4444或RGB565,从而显着缩小ping大小并提高设备的渲染效果。

您也可以导出支持它的设备的PVR文件(例如iOS,某些Android)

而且它还支持缩小低分辨率设备的图像。