ajslater / picopt

A multi format lossless image optimizer that uses external tools
GNU General Public License v3.0
108 stars 11 forks source link

Change optipng optimization level #41

Closed veikk0 closed 2 years ago

veikk0 commented 4 years ago

optipng's own default is -o3, which is a good compromise between compression efficiency and CPU time requirement. Picopt sets this to -o6, however, which takes much longer to process and offers diminishing returns over lower values. It might be fine for small, icon size files, but compression time increases significantly for high res, multi-megabyte images. I often find myself using optipng manually for these cases, because a single process using -o3 or lower values is faster than multi-threaded -o6 when dealing with sets of large files.

Having an option to choose the optipng compression level would be useful. IMO the default should also be changed to -o3. Some more complex logic of using different compression levels based on file size would also be cool.

ajslater commented 2 years ago

I understand where you're coming from here, but i have not enabled parameter customization. picopt 3.0 has changed its optipng default to -o5. picopt 3.0 also supports converting pngs to lossless webp, which is smaller than pngs and faster to encode than using optipng. WebP is now supported on all major browsers.