# Compression Commit
This commit performs both lossless and lossy compression on every .obj and .png in homedecor. The .png files were all 100% losslessly compressed using ect.exe and optipng.exe (more details below) at maximum settings. The .obj files were lossy-compressed so that comments were removed, trailing 000's were removed and all numbers rounded to 3 decimal places max. Blender exports at 6 decimal places but for minetest, 3 decimal places is the absolute maximum a person with anything under a 256K screen will ever need. ## Results ``` Original entire modpack size: 6343.5 KB New entire modpack size: 5312.2 KB Total Reduction: 1031.3 KB (16.3% less) ``` Please note that actual media size is likely more like 4,500 KB so media reduction is more around 20-25%. ## Details / What actions were actually performed Used these programs: https://github.com/ExeVirus/Compress-Obj https://sourceforge.net/projects/optipng/ https://github.com/fhanau/Efficient-Compression-Tool Ran this command on every .obj: (fast) ``` luajit.exe compress.lua -f <file> -precision 3 ``` Ran these commands on every .png: (slow) ``` ect.exe -9 -strip --allfilters-b <file> optipng.exe -o7 -strip all -clobber <file> ``` Note that for future compression, I recommend only using optipng.exe instead of both. ECT can get better results but it takes a LOT longer and only ever saves another 1-2% of the file size. Not worth an extra 10-20 seconds per texture file in my opinion. ## Time spent Roughly 2 Hours from start to finish + commit + PR
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 390 B After Width: | Height: | Size: 371 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 390 B After Width: | Height: | Size: 371 B |
Before Width: | Height: | Size: 794 B After Width: | Height: | Size: 778 B |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 450 B After Width: | Height: | Size: 395 B |
Before Width: | Height: | Size: 594 B After Width: | Height: | Size: 510 B |
Before Width: | Height: | Size: 83 B After Width: | Height: | Size: 71 B |
Before Width: | Height: | Size: 106 B After Width: | Height: | Size: 82 B |
Before Width: | Height: | Size: 203 B After Width: | Height: | Size: 149 B |
Before Width: | Height: | Size: 104 B After Width: | Height: | Size: 83 B |
Before Width: | Height: | Size: 204 B After Width: | Height: | Size: 149 B |
Before Width: | Height: | Size: 96 B After Width: | Height: | Size: 81 B |
Before Width: | Height: | Size: 100 B After Width: | Height: | Size: 82 B |
Before Width: | Height: | Size: 423 B After Width: | Height: | Size: 335 B |
Before Width: | Height: | Size: 97 B After Width: | Height: | Size: 85 B |
Before Width: | Height: | Size: 313 B After Width: | Height: | Size: 261 B |
Before Width: | Height: | Size: 423 B After Width: | Height: | Size: 335 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 661 B After Width: | Height: | Size: 578 B |
Before Width: | Height: | Size: 210 B After Width: | Height: | Size: 199 B |
Before Width: | Height: | Size: 493 B After Width: | Height: | Size: 425 B |
Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 182 B |
Before Width: | Height: | Size: 493 B After Width: | Height: | Size: 425 B |
Before Width: | Height: | Size: 287 B After Width: | Height: | Size: 184 B |
Before Width: | Height: | Size: 172 B After Width: | Height: | Size: 169 B |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 784 B After Width: | Height: | Size: 770 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 170 B After Width: | Height: | Size: 167 B |
Before Width: | Height: | Size: 163 B After Width: | Height: | Size: 161 B |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 213 KiB After Width: | Height: | Size: 212 KiB |
Before Width: | Height: | Size: 216 KiB After Width: | Height: | Size: 214 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 890 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 772 B |
Before Width: | Height: | Size: 824 B After Width: | Height: | Size: 698 B |
Before Width: | Height: | Size: 785 B After Width: | Height: | Size: 405 B |
Before Width: | Height: | Size: 984 B After Width: | Height: | Size: 876 B |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 801 B After Width: | Height: | Size: 706 B |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.1 KiB |