Zip-формат поддерживает несколько различных алгоритмов сжатия. Вы можете использовать разные алгоритмы для каждого файла в архиве. Если вы хотите сохранить уже сжатые файлы, которые не получают дополнительного сжатия (например, PNG), в zip-архиве, вы можете закодировать эти файлы с помощью «хранимого» алгоритма, который вообще не сжимается. Диалоговое окно «Добавить в архив» для 7-zip позволяет вам выбрать это в разделе «Сила сжатия».
Но если в ваших архивах есть не только изображения, но и другие, более сжимаемые ресурсы, выбор алгоритма для каждого отдельного файла может быть довольно утомительным. В этом случае вы можете предпочесть формат несжатого изображения в архиве сжатия.
Формат TGA знает много разных режимов, некоторые из которых сжимаются, а некоторые нет. Если вы не хотите использовать сжатие, убедитесь, что вы выбрали правильный вариант в настройках экспорта графического редактора, который вы используете. Другой несжатый формат изображения - BMP (Windows Bitmap).
Вот тест, который я сделал. Я добавлял одно и то же изображение (актив из моего текущего проекта) в разных форматах несколько раз в zip-архив, некоторые с алгоритмом "deflate" в обычном режиме и одно с "store". Извините за немецкий графический интерфейс. 2-й столбец - несжатый размер, 3-й столбец - алгоритм сжатия, а 4-й столбец - сжатый размер.
Как вы можете видеть, PNG-кодирование с дефляцией сохранило только скудные 0,3%, тогда как BMP с кодированным дефлатом уменьшилось до одной десятой исходного файла, что даже меньше, чем у PNG-версии. Это меня довольно удивило. Я ожидал бы, что PNG будет меньше, потому что метод сжатия PNG должен быть оптимизирован для данных изображения, а ZIP - нет. Вероятное объяснение состоит в том, что мой редактор изображений (GIMP) добавил довольно много метаинформации в файлы PNG, чего не делает для BMP.
Несжатый TGA вел себя подобно BMP в отношении размера файлов до и после архивирования, в то время как сжатие сжатого файла TGA было дополнительно улучшено ZIP, хотя и не так сильно, как несжатые версии.
Возможно, стоит поэкспериментировать с другими алгоритмами, кроме deflate, и с другими настройками силы сжатия. Какая комбинация будет иметь наилучшие результаты, будет зависеть от стиля ваших текстур. Но вы также можете попробовать оценить загрузку ресурсов в вашей игре и повлиять на производительность декомпрессии, чтобы решить, какие настройки вы используете.
Нижняя линия: Если вы хотите , чтобы избежать двойного сжатия и при этом иметь низкий размер файла, либо использовать PNG
с Store
алгоритмом почтовый или BMP
с сжимающего алгоритма ZIP.