Robienie zrzutów ekranu w tle (iOS) - poprawa wydajności

To pytanie jest rozszerzeniem na:Wykonywanie zrzutów ekranu z aplikacji iOS - emulacja rejestratora wyświetlania (zapytanie o elementy wewnętrzne)
Istnieją 2 sposoby, w jakie natknąłem się, aby robić zrzuty ekranu z tła -
1Tworzenie obrazu z powierzchni ios i zapisywanie go - przechwytuje z bardzo dużą szybkością (około 0,2-0,3 s / 12-15 zrzutów ekranu), jednak występują pewne problemy, które są tutaj omawiane:Uwalnianie powierzchni IOS
2. Poniższy kod wykonuje to samo zadanie przy użyciu interfejsu API createScreenIOSurface:

IOSurfaceRef surface = [UIWindow createScreenIOSurface];
UIImage *surfaceImage = [[UIImage alloc] _initWithIOSurface:surface orientation:UIImageOrientationUp];
CFRelease(surface);
UIImageSaveToPhotosAlbum(surfaceImage, self, nil, nil);

Jednak szybkość przechwytywania jest bardzo zła, około 0,5-0,7 s / zrzut ekranu.

Czy istnieje rozwiązanie tego problemu w podejściu 1?
Czy istnieje sposób na poprawę wydajności w podejściu 2?

questionAnswers(0)

yourAnswerToTheQuestion