The speed difference is *huge* whereas the file size difference is basically non existant.
Really. I mean it. On a 500mhz machine it takes more than 30 seconds to load a 512x512x6 skybox with imageio. With a custom tga loader it takes less than half a second (loading a 2048x2048 texture takes less than 2 seconds [from jar - 3 times faster from directory]). Loading tga needs almost no cpu at all.
Sure you could say that its almost the same speed on your hi-end 10ghz machine, but is that equal to the specs you're targetting? And why bother with png if you gain nothing? (With jpg you would at least get rid of some bytes.)
The png format is not complicated at all, infact I would say it is one of the simplest advanced image formats.
Any differences in decoding speed bwteen png & tga should be solely down to zlib decompression Vs rle decompression.
(Obviously zlib compression will always obtain superior compression ratios, at the cost of increased decoding time)
Now it has never made sense to put compressed png's inside a compressed jar file, when both are using the same compression algoithm..... but you have to overlook that insane design error on Sun's part.
For a more meaningful comparison in codec efficiency,
try comparing the loading speed of a png with uncompressed IDAT chunk
, against an equivalent uncompressed tga.
I'd wager the speeds will be nearly identical. (if they arn't - its Sun's decoder thats shit, not the png format itself >_<)