Я не видел никакой информации в сети о том, как создавать изображения PVRTC вручную, и, насколько мне известно, нет поддержки этого встроенного в iPhone (и не нужно было бы читать файлы PVRTC ).
Для большинства приложений нет смысла включать или создавать обе версии файлов. При оптимальных условиях версии PVRTC должны быть практически неотличимы от версий PNG и на самом деле представляют собой просто «предварительно обработанные» версии файлов, оптимизированных для прямой потоковой передачи в видеопамять.
Как правило, лучше всего просмотреть все ваши изображения и принять решение о том, как лучше упаковать изображение, чтобы сбалансировать сохранение и качество памяти для всех пользователей, а не только в определенных ограниченных ситуациях с памятью.
Несколько вещей для рассмотрения (извинения, если это избыточные знания):
- Файлы PVRTC могут иметь проблемы со сложными альфа-смешанными изображениями, так как предварительная обработка может вызвать неприглядные артефакты вдоль смешанных краев.
- У непрозрачных файлов PNG должен быть удален альфа-канал в исходном изображении (экономя память и накладные расходы при смешивании).
- Для изображений с ограниченным диапазоном цветов уменьшите изображение с PNG32 до PNG16 или PNG8, чтобы сохранить память на диске.
- Если это для программ на основе OpenGL, рассмотрите возможность использования расширенной версии Texture2D (например, от Cocos2D), которая поддерживает альтернативные форматы пикселей, такие как 565 и 4444. Это может значительно снизить накладные расходы на видеокарту с минимальным влиянием на изображение качество, тщательно выбирая формат пикселя, который соответствует балансу цветов в исходном изображении.
- Кроме того, для программ на основе OpenGL, избегайте отдельных изображений (320x480) для фона, так как это приведет к текстуре 512x512 в памяти для каждого. Разбейте изображение на более мелкие части или сделайте его размером 512x512 и заполните дополнительное пространство другими изображениями, чтобы загрузить только одну текстуру.
- Как и во всем, сначала сфокусируйтесь на самых больших изображениях, чтобы получить максимальную отдачу.
Стоит также отметить, что, поскольку ваше приложение будет работать только (кроме системных приложений), единственное реальное использование памяти будет ограниченным объемом «дискового» пространства. Создание второй копии всех файлов изображений фактически будет работать против вас, а не поможет.
Barney