Skip to content

putara/pngbench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TL;DR

LodePNG is not so fast. 😢

Introduction

PngBench calculates the decompression time of several PNG decoders by using Windows' native icons as test suite.

Currently, the following decoders are supported:

Usage

  1. Build libpng and zlib.
  2. Put libpng.lib and zlib.lib into libpng/ folder and zlib/ folder respectively.
  3. Run nmake on the developer command prompt.
  4. Run either pngbench_n or pngbench_c.

Example Result

Decoder Speed (ms)
WIC 700
GDI+ 945
libpng+zlib 1708
stb_image 2007
LodePNG+zlib 2292
uPNG 2598
LodePNG 3123
picoPNG 3758

Memo

  • 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.

Todo

  • Verify decompressed images (maybe something's wrong with results)
  • Add miniz support
  • Apply some SIMD patch to zlib

License

Released under the WTFPL except third party libraries.

About

PNG decoder speed test tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published