1.26 & 1.27
there are lot of ways to improve palette sorting. this version adds nice improvements in this area — since the new algorithm requires more computation, it comes with several optimization tricks where speed matters more than savings. regarding PNG, the compression efficiency is not just about palette sorting…
the deflate trick
pingo has now a specific function to increase deflation of this kind of indexed images. it could benefit from speed, compression and memory and would have (much) better mp — finally, it could come with memory preservation in some cases
PNG lossless
| version |
lvl |
saved |
time |
| 1.00 |
-s4 |
589.50 KB |
2.64s |
| 1.25 |
-s4 |
667.13 KB |
2.37s |
| rc4 |
-s4 |
703.18 KB |
2.36s |
| 1.26 |
-s3 |
701.31 KB |
1.91s |
| 1.26 |
-s4 |
704.39 KB |
2.08s |
| 1.27 |
-s3 |
707.82 KB |
1.58s |
| 1.27 |
-s4 |
710.79 KB |
1.77s |
PNG to WebP lossless
| version |
lvl |
saved |
time |
| 1.00 |
-s4 |
867.21 KB |
1.96s |
| 1.25 |
-s4 |
884.97 KB |
1.98s |
| 1.26 |
-s3 |
915.53 KB |
2.01s |
| 1.26 |
-s4 |
924.77 KB |
2.27s |
| 1.27 |
-s3 |
926.53 KB |
1.91s |
| 1.27 |
-s4 |
934.67 KB |
2.10s |
PNG lossless
| version |
lvl |
saved |
time |
| 1.00 |
-s4 |
3.99 MB |
8.66s |
| 1.25 |
-s4 |
4.32 MB |
8.89s |
| rc4 |
-s4 |
4.41 MB |
8.39s |
| 1.26 |
-s3 |
4.53 MB |
5.62s |
| 1.26 |
-s4 |
4.55 MB |
6.39s |
| 1.27 |
-s3 |
4.54 MB |
4.97s |
| 1.27 |
-s4 |
4.56 MB |
5.74s |
PNG to WebP lossless
| version |
lvl |
saved |
time |
| 1.00 |
-s4 |
5.48 MB |
8.11s |
| 1.25 |
-s4 |
5.57 MB |
8.01s |
| rc4 |
-s4 |
5.69 MB |
8.05s |
| 1.26 |
-s3 |
5.74 MB |
7.81s |
| 1.26 |
-s4 |
5.74 MB |
7.94s |
| 1.27 |
-s3 |
5.78 MB |
7.45s |
| 1.27 |
-s4 |
5.79 MB |
7.80s |
palette-draw (72 files)
PNG lossless
| version |
lvl |
saved |
time |
| 1.00 |
-s4 |
778.72 KB |
3.02s |
| 1.25 |
-s4 |
941.58 KB |
2.87s |
| rc4 |
-s3 |
994.79 KB |
3.19s |
| rc4 |
-s4 |
1024.36 KB |
3.35s |
| 1.26 |
-s3 |
1058.50 KB |
2.57s |
| 1.26 |
-s4 |
1061.64 KB |
2.88s |
| 1.27 |
-s3 |
1070.01 KB |
1.90s |
| 1.27 |
-s4 |
1073.15 KB |
2.18s |
PNG to WebP lossless
| version |
lvl |
saved |
time |
| 1.00 |
-s4 |
1.16 MB |
2.22s |
| 1.25 |
-s4 |
1.19 MB |
2.29s |
| rc4 |
-s4 |
1.28 MB |
2.22s |
| 1.26 |
-s3 |
1.28 MB |
2.23s |
| 1.26 |
-s4 |
1.29 MB |
2.53s |
| 1.27 |
-s3 |
1.29 MB |
2.10s |
| 1.27 |
-s4 |
1.30 MB |
2.39s |
PNG lossless
| version |
lvl |
saved |
time |
| 1.00 |
-s4 |
196.59 KB |
0.88s |
| 1.25 |
-s4 |
211.52 KB |
0.77s |
| rc4 |
-s4 |
215.55 KB |
1.02s |
| 1.26 |
-s3 |
213.27 KB |
0.74s |
| 1.26 |
-s4 |
216.28 KB |
0.78s |
| 1.27 |
-s3 |
213.25 KB |
0.65s |
| 1.27 |
-s4 |
216.26 KB |
0.70s |
PNG to WebP lossless
| version |
lvl |
saved |
time |
| 1.00 |
-s4 |
330.20 KB |
0.95s |
| 1.25 |
-s4 |
338.76 KB |
0.98s |
| rc4 |
-s4 |
344.56 KB |
1.21s |
| 1.26 |
-s3 |
344.56 KB |
1.18s |
| 1.26 |
-s4 |
345.22 KB |
1.41s |
PNG lossless
| version |
lvl |
saved |
time |
| 1.00 |
-s4 |
463.55 KB |
1.55s |
| 1.25 |
-s4 |
485.95 KB |
1.17s |
| rc4 |
-s4 |
499.67 KB |
1.12s |
| 1.26 |
-s3 |
499.72 KB |
1.09s |
| 1.26 |
-s4 |
523.10 KB |
1.43s |
| 1.27 |
-s3 |
499.72 KB |
0.97s |
| 1.27 |
-s4 |
523.10 KB |
1.28s |
PNG to WebP lossless
| version |
lvl |
saved |
time |
| 1.00 |
-s4 |
617.05 KB |
1.85s |
| 1.25 |
-s4 |
625.38 KB |
1.36s |
| rc4 |
-s4 |
645.18 KB |
1.63s |
| 1.26 |
-s3 |
645.51 KB |
1.78s |
| 1.26 |
-s4 |
645.86 KB |
1.97s |
| 1.27 |
-s3 |
653.37 KB |
1.31s |
| 1.27 |
-s4 |
653.37 KB |
1.34s |
collection (837 files)
PNG lossless
| version |
lvl |
saved |
mem |
time |
| 1.00 |
-s4 |
7.09 MB |
141 MB |
19.87s |
| 1.25 |
-s4 |
7.84 MB |
222 MB |
20.10s |
| rc4 |
-s4 |
8.14 MB |
1398 MB |
20.99s |
| 1.26 |
-s3 |
8.31 MB |
699 MB |
14.98s |
| 1.26 |
-s4 |
8.35 MB |
710 MB |
16.81s |
| 1.27 |
-s3 |
8.33 MB |
551 MB |
12.49s |
| 1.27 |
-s4 |
8.37 MB |
558 MB |
14.17s |
PNG to WebP lossless
| version |
lvl |
saved |
mem |
time |
| 1.00 |
-s4 |
10.02 MB |
328 MB |
16.51s |
| 1.25 |
-s4 |
10.18 MB |
384 MB |
16.98s |
| rc4 |
-s4 |
10.54 MB |
303 MB |
17.64s |
| 1.26 |
-s3 |
10.58 MB |
303 MB |
16.78s |
| 1.26 |
-s4 |
10.61 MB |
304 MB |
18.27s |
| 1.27 |
-s3 |
10.65 MB |
311 MB |
16.69s |
| 1.27 |
-s4 |
10.68 MB |
304 MB |
18.23s |
1.27
this version should optimize WebP files as good as the PNG to WebP lossless converter for indexed images. for the demo, those files were converted to WebP with cwebp using the following command
palettes (140 WebP files)
cwebp -m 1 -q 30 -lossless
WebP lossless optimizer
| version |
lvl |
saved |
time |
| 1.00 |
-s4 |
3.64 MB |
8.07s |
| 1.25 |
-s4 |
3.68 MB |
8.01s |
| 1.27 |
-s3 |
3.94 MB |
7.58s |
| 1.27 |
-s4 |
3.95 MB |
7.98s |
palettes (140 WebP optimized files)
cwebp -m 6 -q 100 -lossless
WebP lossless optimizer
| version |
lvl |
saved |
time |
| 1.00 |
-s4 |
166.80 KB |
7.99s |
| 1.25 |
-s4 |
194.18 KB |
8.24s |
| 1.27 |
-s3 |
410.78 KB |
7.44s |
| 1.27 |
-s4 |
416.01 KB |
7.83s |
WebP converter & optimizer
WebP converter & optimizer
| set |
source |
saved |
outsize |
time |
| colortype-3 |
PNG |
934.67 KB |
3520774 |
2.10s |
| colortype-3 |
WebP |
611.35 KB |
3520742 |
2.16s |
| palettes |
PNG |
5.79 MB |
15963780 |
7.77s |
| palettes |
WebP |
3.95 MB |
15963780 |
7.72s |