LodePNG is not so fast. 😢
PngBench calculates the decompression time of several PNG decoders by using Windows' native icons as test suite.
Currently, the following decoders are supported:
- Build libpng and zlib.
- Put
libpng.lib
andzlib.lib
intolibpng/
folder andzlib/
folder respectively. - Run
nmake
on the developer command prompt. - Run either
pngbench_n
orpngbench_c
.
Decoder | Speed (ms) |
---|---|
WIC | 700 |
GDI+ | 945 |
libpng+zlib | 1708 |
stb_image | 2007 |
LodePNG+zlib | 2292 |
uPNG | 2598 |
LodePNG | 3123 |
picoPNG | 3758 |
- WIC has MMX, SSE2 and SSSE3 optimised code for filter and decompression.
- GDI+ just delegates WIC to decode images.
- libpng has SSE2 optimised code for filter.
- zlib has experimental MMX and/or hand-tuned assembly code for decompression.
- Verify decompressed images (maybe something's wrong with results)
- Add miniz support
- Apply some SIMD patch to zlib
Released under the WTFPL except third party libraries.