Любой способ кодировать PNG быстрее, чем UIImagePNGRepresentation?

м генерирует кучу плиток дляCATiledLayer, На iPhone 4S требуется около 11 секунд, чтобы сгенерировать 120 плиток с разрешением 256 x 256 и 4 уровнями детализации. Само изображение умещается в пределах 2048 х 2048.

Мое узкое местоUIImagePNGRepresentation, Генерация каждого изображения 256 x 256 занимает около 0,10-0,15 секунды.

попытался сгенерировать несколько плиток в другой фоновой очереди 'с, но это только сокращает его примерно до 9-10 секунд.

Мы также пытались использовать каркас ImageIO с таким кодом:

- (void)writeCGImage:(CGImageRef)image toURL:(NSURL*)url andOptions:(CFDictionaryRef) options
{
    CGImageDestinationRef myImageDest = CGImageDestinationCreateWithURL((__bridge CFURLRef)url, (__bridge CFStringRef)@"public.png", 1, nil);
    CGImageDestinationAddImage(myImageDest, image, options);
    CGImageDestinationFinalize(myImageDest);
    CFRelease(myImageDest);
}

В то время как при этом создаются файлы PNG меньшего размера (победа!), Это занимает около 13 секунд, на 2 секунды больше, чем раньше.

Есть ли способ кодировать изображение PNG изCGImage Быстрее? Возможно, библиотека, которая используетNEON ARM расширение (iPhone 3GS +), какlibjpeg-турбо делает?

Возможно, есть лучший формат, чем PNG, для сохранения тайлов, которые незанимают много места?

Единственный жизнеспособный вариант, который яМы смогли увеличить размер плитки до 512 x 512. Это сокращает время кодирования вдвое. Не уверен, что это будет делать с моим видом прокрутки, хотя. Приложение предназначено для iPad 2+ и поддерживает только iOS 6 (в качестве базовой линии используется iPhone 4S).

Ответы на вопрос(1)

Ваш ответ на вопрос