Комментарии 16
А стоит ли овчинка выделки? Сколько места удалось сэкономить на реальном приложении?
0
Все зависит от проекта и контента. Если у вас порядка 1мб картинок GUI, то и родной pngcrush, и optipng дадут порядка 1-2% оптимизации, т.е. 10-20кб. Но если речь об игре на 20+мб, где есть и текстуры, и музыка, и сплеш-скрины в JPG, то пару мегабайт можно выиграть. Тут уже каждому стоит самому решать что в скрипт писать и какой контент оптимизировать.
У меня был случай, когда для моб. проекта музыку выдавали в MP3, сжатом c CBR 320кбит, стерео (160кбит на канал). Простейшая команда
делает из нее 64кбит VBR моно, который в 5 раз меньше, а из динамика телефона звучит точно так же. Конечно, это крайний случай и я не призываю так ужимать музыку, но если политика студии позволяет, то вполне можно подбную конверсию писать в iphoneos-optimize, а в проекте хранить в исходном качестве.
У меня был случай, когда для моб. проекта музыку выдавали в MP3, сжатом c CBR 320кбит, стерео (160кбит на канал). Простейшая команда
ffmpeg -i music.mp3 -ac 1 music_tmp.mp3
делает из нее 64кбит VBR моно, который в 5 раз меньше, а из динамика телефона звучит точно так же. Конечно, это крайний случай и я не призываю так ужимать музыку, но если политика студии позволяет, то вполне можно подбную конверсию писать в iphoneos-optimize, а в проекте хранить в исходном качестве.
0
Дело в том, что приложение по 3G на iOS можно загрузить только до 20Мб. И если у вас, скажем, игра 100Мб — то вам все равно. А вот если она 23-25Мб — то начинаются танцы с бубном в борьбе за каждые 100 байт. Просто многие, если не могут скачать сейчас — не скачают никогда.
Сам в скриптах не копался, просто подготавливал ресурсы и прогонял их через оптимизаторы для наших игр. Каково же было мое удивление, когда я отключил встроенный оптимизатор XCodе и игра стала весить не 22 а 18Мб!
Сам в скриптах не копался, просто подготавливал ресурсы и прогонял их через оптимизаторы для наших игр. Каково же было мое удивление, когда я отключил встроенный оптимизатор XCodе и игра стала весить не 22 а 18Мб!
+1
Сейчас ограничение на размер приложения в 20Мб сместили до 50Мб.
Стало немного вольготнее. Но все равно не стоит злоупотреблять размерами приложения. ИМХО чем меньше приложение тем лучше, не в ущерб качеству конечно.
Стало немного вольготнее. Но все равно не стоит злоупотреблять размерами приложения. ИМХО чем меньше приложение тем лучше, не в ущерб качеству конечно.
+1
Это точно. PC стали вместительнее, и вместе с этим стал расти софт непропорционально сложности — все перестали экономить место, и винт в 120 Гб, казавшийся N лет назад жутко большим, уже можно выбрасывать на свалку. Я потому и пришёл в мобильные приложения, что здесь умеют экономить ресурсы.
0
это из-за ретина-ipad. Увеличение допустимого размера произошло одновременно с его выходом. И не зря. Размер приложения увеличивается как раз раза в 2 с его поддержкой
0
imageoptim.com/ — оптимизация картинок без консольки
+6
Отличная программа! Тоже рекомендую! Особенно в ней хорошо, что можно перетащить хоть весь проект и она там все «наоптимизирует» и положит все там, где взяла. Никаких копирований, замен файлов и т.д. Только, как писал выше, нужно встроенный оптимизатор отключать, а то толку будет меньше.
0
Спасибо! Эта программа отлично подошла для оптимизации 945-ти картинок в проекте на Corona SDK, не потребовалось никаких дополнительных настроек. Очень рекомендую.
0
Не пробовали зашивать это все дело в спрайтшиты? Мне такой подход позволил значительно сократить размер приложения и расход видеопамяти.
0
Спрайтшиты очень помогают.
Для создани рекомендую использовать www.codeandweb.com/texturepacker
Поддерживается многоми игровыми движками
Позволяет довольно неплохо уплотнять текстуры и сохранять их в разных форматах.
Для создани рекомендую использовать www.codeandweb.com/texturepacker
Поддерживается многоми игровыми движками
Позволяет довольно неплохо уплотнять текстуры и сохранять их в разных форматах.
0
>>CBR 320кбит, стерео (160кбит на канал).
>>Простейшая команда делает из нее 64кбит VBR моно
Лёгким движением руки брюки превращаются…
Есть такие странные люди, которые вставляют в уши такие маленькие затычки с проводками.
>>Простейшая команда делает из нее 64кбит VBR моно
Лёгким движением руки брюки превращаются…
Есть такие странные люди, которые вставляют в уши такие маленькие затычки с проводками.
+1
1. >> Конечно, это крайний случай и я не призываю так ужимать музыку
2. минимальное изменение и команда
дает нам в 2.5 раза уменьшеный файл c VBR 128кбит при сравнимом качестве с оригиналом (CBR 320кбит).
да и вообще речь не о том. iphone-optimize вызывается самим XCode, потому сам Бог велел туда добавлять свои оптимизации чего-угодно и в каком-угодно виде.
2. минимальное изменение и команда
ffmpeg -i music.mp3 -ab 128 music_tmp.mp3
дает нам в 2.5 раза уменьшеный файл c VBR 128кбит при сравнимом качестве с оригиналом (CBR 320кбит).
да и вообще речь не о том. iphone-optimize вызывается самим XCode, потому сам Бог велел туда добавлять свои оптимизации чего-угодно и в каком-угодно виде.
0
Разительного эффекта оптимизации можно достигнуть, обнаружив, что настройки проекта на самом таковы, что strip не выполняется. =)
На больших проектах также помогает --gc-sections.
На больших проектах также помогает --gc-sections.
0
Тут вот спрашивали о выигрыше с этой оптимизацией. Пересобирал на днях игру (не анонсированный проект, не могу детальнее), размер .IPA файла вышел 38,2Mb — HD версия для iPad 3. Сегодня собрал с скриптом, который на paste2 и получилось 36,5Mb. Все текстуры в pvr.gz, потому оптимизировлись только JPG/PNG файлы интерфейса:
![image](https://habrastorage.org/r/w1560/getpro/habr/comment_images/09c/8e9/53d/09c8e953d44720b67a80100df5a98ee5.png)
![image](https://habrastorage.org/getpro/habr/comment_images/09c/8e9/53d/09c8e953d44720b67a80100df5a98ee5.png)
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Оптимизация ресурсов iOS приложений