Есть ли в программе возможность оптимизировать только что скачанные с сайта тайлы в формате PNG, и только потом сохранять их в кэш ?
Под "оптимизировать" я понимаю уменьшение размера PNG-тайла без потери качества и без потери прозрачности + сравнение размеров файлов до и после оптимизации + сохранение в кэш файла меньшего размера.
Случайно на глаза попалась спецификация, в которой сказано, что PNG бывают разные. С палитрой и без.
По идее, первый вариант с палитрой предпочтительнее для хранения тайлов: размер небольшой, цветов обычно мало (всяко меньше 256).
Полез смотреть, в каком формате хранятся PNG-тайлы в моей коллекции кэшей.
И был очень удивлён тем, что в основном используется более громоздкий вариант БЕЗ палитры (RGBA).
Провёл несколько экспериментов.
Кэш Garmin QuickDraw.
Folders: 2138
Files : 12569
ДО оптимизации: Files size = 214 314 515 bytes
ПОСЛЕ оптимизации: Files size = 64 170 441 bytes
разница в размерах в 3,3 раза !!!
Кэш Navionics Sonarchart.
Folders: 1725
Files : 79907
ДО оптимизации: Files size = 288 878 769 bytes
ПОСЛЕ оптимизации: Files size = 178 467 237 bytes
разница в размерах в 1,6 раза
Кэш osmMap Mapnik.
Folders: 1161
Files : 83757
ДО оптимизации: Files size = 349 138 359 bytes
ПОСЛЕ оптимизации: Files size = 328 840 482 bytes
разница в размерах в 1,1 раза (чувствуется рука профессионального сообщества )
Как видно, разница довольно внушительная!
Особенно для тех, кто делает карты для мобильных приложений (в форматах mbtiles,sqlite3 и др, в которых PNG упаковывается как есть без доп. преобразований).
Поискал на сайте. Просьба оптимизировать PNG уже встречается среди хотелок: http://www.sasgis.org/mantis/view.php?id=2394
Но там речь идёт о манипуляциях с уже скачанными файлами.
Есть ли возможность включить оптимизацию именно на этапе закачки ?