Снимки экрана в фоновом режиме (iOS) - Повышение производительности
Этот вопрос является расширением: Снимки экрана из приложения iOS - эмуляция устройства записи экрана (запрос на внутреннем устройстве)
Есть 2 способа сделать скриншоты из фона -
1. Создание изображения из поверхности ios и сохранение его - оно захватывает с очень высокой скоростью (приблизительно 0,2–0,3 с / 12–15 снимков экрана), однако при этом возникают некоторые проблемы, которые обсуждаются здесь: выпуск IOSurface
2. Следующий код выполняет ту же работу с использованием API createScreenIOSurface:
IOSurfaceRef surface = [UIWindow createScreenIOSurface];
UIImage *surfaceImage = [[UIImage alloc] _initWithIOSurface:surface orientation:UIImageOrientationUp];
CFRelease(surface);
UIImageSaveToPhotosAlbum(surfaceImage, self, nil, nil);
Тем не менее, скорость захвата очень плохая, примерно 0,5-0,7 сек / скриншот.
Итак, есть ли решение проблемы, с которой сталкиваются в подходе 1?
Есть ли способ улучшить производительность для подхода 2?