나는 CATiledLayer
에 대해 타일 묶음을 생성 중입니다. iPhone 4S에서 4 레벨 디테일로 256 x 256 크기의 120 타일을 생성하는 데 약 11 초가 소요됩니다. 내 병목 현상 UIImagePNGRepresentation
입니다UIImagePNGRepresentation보다 빠르게 PNG를 인코딩하는 방법은 무엇입니까?
2048 X 2048 내 이미지 자체는 맞습니다. 256x256 이미지를 생성하는 데 약 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 초 이상 소요 생성하는 동안.
빠른 CGImage
에서 PNG 이미지를 인코딩하는 방법은 없나요? 아마도 libjpeg-turbo과 같이 NEON
ARM 확장 (iPhone 3GS +)을 사용하는 라이브러리는 무엇입니까?
아마도 많은 공간을 차지하지 않는 타일을 저장하는 PNG보다 더 나은 형식이 있습니까?
내가 가지고 올 수 있었던 유일한 가능한 옵션은 512 X 512이 반으로 인코딩 시간을 절감하여 타일의 크기를 증가시키는 것이다. 그래도 내 스크롤보기에 어떤 영향을 미치는지 확신 할 수 없습니다. 이 앱은 iPad 2 이상을 지원하며 iOS 6 (iPhone 4S를 기준으로 사용) 만 지원합니다.