Ios – Batch optimization of PNGs for iphone/ipad display as xcode does

iosipadiphonepng

I'm working on a magazine viewer for ipad and I'm struggling with the performance.

I figured out that the most expensive part of displaying the pngs is the loading process.
I know that xcode is able to optimize pngs during the build and such images are loaded much faster. But I can't include all images in to the build as it will be huge.

Do you know how to optimize an arbitrary png without including it in the build process?

Do you know what is the best format for iphone? I think that pngs should use RGB-8888 color scheme but I'm not sure what else is important.

Maybe you know exact params for imagemagick?

Best Answer

I think I've found a good article about png optimization for iphone: http://iphonedevelopment.blogspot.com/2008/10/iphone-optimized-pngs.html

It seams that xcode uses this command: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/iphoneos-optimize

It appears that the above command uses a modified version of pngcrush to optimize pngs and transform the color channels: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush -iphone -f 0 orig.png optimized.png

And the optimization is really helpful. I've got 5 time faster image loading!