image-optimisation-tools-comparison
A Benchmarking Suite for popular Image Optimisation Tools
☁️ Installation
npm install image-optimisation-tools-comparison
📋 Usage
There are no runtime dependencies, getResults()
parses and returns
results.json
.
; ;
⚙️ Contributing
The pyssim Python module is used to compute the Structural
Similarity Image Metric (SSIM). It can be installed on Mac using brew install python
then
pip install pyssim
.
The original, unoptimised images are located in /images/photoshop
. Each time
a tool is tested, its directory (eg. /images/codekit
) is replaced with the
original images from /images/photoshop
, the tool is then run over the images
to update the benchmark.
/images/worst
is a copy of the original images at
/images/photoshop
which is then compressed to the worst possible image
quality. This value lets us calculate the quality loss percentage for each image.
Each time the /images
directory changes,
/src/data/results.json
needs to be updated using yarn update-results
.
These images used are exported from a .psd kindly given to us by Daan Jobsis from his tests carried out for the article Retina Revolution: Follow Up, containing photographs of varying levels of detail, simple patterns, and logos.
The images are exported using "Save for Web" as;
- GIF (+Interlaced).
- JPEG (+Optimised, Progressive).
- PNG 8 (+Interlaced).
- PNG 24 (+Interlaced).
Manual Steps
/images/codekit
is compressed using https://incident57.com/codekit/./images/kraken
is uploaded using the File Uploader at https://kraken.io/web-interface. The Zip file is then downloaded and extracted into this directory./images/smushit
is uploaded one-by-one using the Uploader view at http://www.smushit.com/ysmush.it. The Zip file is then downloaded and extracted into this directory./images/tinypng
is uploaded in batches of 20 at a time using the uploader at https://tinypng.com, downloaded one-by-one then moved into this directory.
🙋 Get Help
There are few ways to get help:
- For bug reports and feature requests, open issues 🐛
- For direct and quick help, you can use Gitter 🚀