I typically don't convert everything to png unless it makes sense for example, I've tried to convert several jpg images into png's but they tend to be larger in size so no reason to convert them. However, bmp files which some emulators use when capturing screen shots compress very well when converting to png and can be reduced in size by 50-75%... at least on the tests I've done using Sega Genesis & 32x images.
Anyway, I ran some tests this morning to see which program is better PNGGauntlet or XnConvert. I didn't have any bmp image files to test so I just used png images I found on my hard drive.
========== Test #1 ==========
I used 107 different png screenshots taken of Shining Force III for Sega Saturn and ran them through each program.
PNGGauntlet Tested Using Default Settings
- Time: 20 Minutes
- File Size: reduced in size by 1,531,904 bytes (Original: 15,978,496 bytes - Compressed: 14,446,592 bytes)
XnConvert Tested Using Minimum Compression (level 1)
- Time: 6 Seconds
- File Size: the files actually increased in size by 3,678,208 bytes (Original: 15,978,496 bytes - Compressed: 19,656,704 bytes)
XnConvert Tested Using Maximum Compression (level 9)
- Time: 60 Seconds
- File Size: the files actually increased in size by 364,544 bytes (Original: 15,978,496 bytes - Compressed: 16,343,040 bytes)
========== Test #2 ==========
I tried another test using 96 different png screenshots taken of various Sega 32X games and ran them through each program.
PNGGauntlet Tested Using Default Settings
- Time: 8 Minutes
- File Size: reduced in size by 573,440 bytes (Original: 8,130,560 bytes - Compressed: 7,557,120 bytes)
XnConvert Tested using minimum compression (level 9)
- Time: 18 Seconds
- File Size: the files actually increased in size by 450,560 bytes (Original: 8,130,560 bytes - Compressed: 8,581,120 bytes)
========== Conclusion ==========
XnConvert Pros: Extremely easy to use (drag & drop), allows for batch conversions between various image formats, & fast
XnConvert Cons: Doesn't appear to reduce file size or compress png images
PNGGauntlet Pros: Extremely easy to use (drag & drop) and won't increase file size i.e. it will either reduce file size of that image or leave it in it's original format if converting increases file size
PNGGauntlet Cons: Since it tests several different compression algorithms it takes a long time to compress images (even longer if the image is extremely large i.e. several MB in size like cover images)
So, XnConvert is an extremely easy to use however it doesn't compress png files to save space as far as I can tell. On the other-hand, PNGGauntlet does take a lot longer to process images, however it will either reduce the file size in the conversion process of skip that image if converting results in a larger file. So, for my needs, PNGGauntlet takes the gold. On a personal note, since PNGGauntlet uses a lot of the computer resources, I will normally just leave my computer on over night and start the compression process when I go to bed, by the time I wake up it's done and I saved save and didn't have to waste any time configuring anything because the default settings are already set to maximum compression.
========== Suggestions to LaunchBox Developers ==========
My suggestion would either be to ask people to use PNGGauntlet before uploading images or possible run the images through the program on the back end once they've been uploaded to the website. Maybe add a flag (somewhere behind the scenes) indicating whether or not the image has been optimized. Yes, the file size reduction is marginal, however it you extrapolate that over hundreds of thousands of images and hundreds of thousands of downloads, I would assume the reduced load on the server would be worth it plus the images would only need to be optimized once and then after that everyone benefits.
Combining the two examples above would equate out to a savings of approximately 10371.15 bytes per image (2,105,344 bytes / 203 images). I don't know how many images are on this site but lets say the database contains 100,000 images (100,000 x 10371.15) which would equate out to a total savings of about 1 GB. The trade off seems worth it to me since the reduction in file size doesn't degrade the image quality.
Thoughts?