Use faster more effective lossless png optimizer (WIP) #347
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
oxipng does multi-threaded lossless png optimizations, with one thread per cpu core by default - see its --threads param
so no longer need to use gnu parallel to achieve the same thing
( oxipng is a modern and actively maintained re-write of optipng )
benchmarks losslessly optimizing a set of 2004 unoptimized pixel screenshot pngs (on my local machine):
main
branchduration: 477 seconds
23.44% average size reduction
this
simplify-png-optimizer
branchduration: 264 seconds
27.30% average reduction
ignore the first 5 commits - they were made irrelevant by the oxipng commit
easiest way to try this pr is to check out its branch then run
./rebuild.sh
script. then you can run./optimize-pngs.sh
. just don't forget to run./rebuild.sh
again when you go back to main branch