Altas текстуры для UIImage, о производительности CGImageCreateWithImageInRect () - PullRequest
1 голос
/ 06 марта 2012

Мое приложение имеет много графики для пользовательского интерфейса. При загрузке такого количества png-файлов всегда наблюдается задержка в 1-2 секунды (с помощью [UIImage imageWithContentsOfFile:]).

Таким образом, я пытаюсь упаковать их в одно большое изображение 2048 * 2048 в качестве текстурных альт, как я делал, когда делал рендеринг текстуры в OpenGL, чтобы избежать накладных расходов на файловый ввод-вывод. Затем используйте CGImageCreateWithImageInRect () для создания подизображений одно за другим.

Весь процесс проходит до того, как изображения прорисованы. От загрузки, создания подизображений до добавления UIImageView в мой основной вид.

Но после добавления этих изображений необходимо дождаться большой задержки, прежде чем начнется анимация моего пользовательского интерфейса. Я использовал Инструмент измерения времени прибора и обнаружил, что причиной является «png_do_read_transformations».

Когда я читаю документацию, CGImageCreateWithImageInRect () созданные изображения ссылаются только на данные исходного изображения. Вызывает ли это плохую производительность, когда я впервые нарисовал изображение, так как необходимо преобразование?

Любой подход может решить эту проблему?

p.s. задержка появляется только тогда, когда я впервые добавляю изображение. без задержки после первого появления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...