Я создаю приложение лупы, которое позволяет пользователю прикоснуться к экрану и поместить его палец, будет лупа с его пальцем. Я реализую его с помощью скриншота и назначаю изображение для увеличения изображения лупы, как показано ниже:
CGSize imageSize = frame.size;
UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0.0);
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextScaleCTM(c, scaleFactor, scaleFactor);
CGContextConcatCTM(c, CGAffineTransformMakeTranslation(-frame.origin.x, -frame.origin.y));
[self.layer renderInContext:c];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return screenshot;
проблема в том, что self.layer renderInContext
является медленным, поэтому пользователь чувствует себя неравномерным, когда он двигает пальцем. и я попытался запустить self.layer renderInContext
в другом потоке, однако, это делает изображение лупы выглядело странно, потому что изображение в лупе показало задержку.
Есть ли лучший способ визуализации изображения? использует renderInContext:
GPU?