I was thinking again (oh oh).
Y’know all those image formats, loading time, awt depedancies and stuff.
With 1.5 they introduced that new compression stuff for webstart… see here and details here.
I just toyed around with it… and yea it seems like you get a slightly better compression. It’s actually sometimes even better than PNGs (yea PNGOUTed PNGs can be bigger than gziped TGAs).
“GZIP Compression
[…]
One can get the highest degree of compression using gzip to compress an uncompressed jar file vs. compressing a compressed jar file, the downside is that the file may be stored uncompressed on the target systems.”
Downside huh? Well, you use jars with zero compression (store) and put that into a highly compressed gzip archive. If the archive (the zero compressed jar) gets stored on the client side in an uncompressed state (without beeing gzipped) loading times should be pretty short (yea you wast some mb on the hdd, but who cares?).
In theory this should allow the shortest loading times, because the physical distance of the files is as short as possible (because they aren’t cluttered around the hdd - y’know fragmentation et all).
Well, we won’t get around ogging. Heh. But it looks like a good trade off. It seems to be reasonable for images you need quickly (splash/loading) or for those bad to jpg/high contrast images like fonts or hand drawn cartoon images. They are quite often even a bit smaller than jpg
So far I can’t tell if they get stored uncompressed (de-gzipped) or not. For testing that I would need to write quite a lot php.
Oh and lwjgl.jar, lwjgl.dll and lwjglaudio.dll are 255kb (zip [store]->gzip [max]) instead of 310kb (zip [max]). And you can even strip it down to 202kb gasp if you do something like this:
pack200 --modification-time=latest lwjgl-win-new.jar.pack.gz lwjgl-win32-0.92_s.jar
And if you use 7zip for gzipping it gets down to… 195kb :o
(Oh and sorry for the lack of structure… I wrote this and tested that stuff at the same time ;))