Наконец-то я сижу, чтобы преобразовать некоторые из наших графических библиотек в CoreImage для рендеринга изображений (например, для смешивания двух изображений), и у меня все работает, но медленно (iOS5.01 iPhone 4S).Я думал, что обещание CoreImage было аппаратное ускорение, вот что я делаю:
CIImage *intputBackgroundImage = [[CIImage alloc] initWithCGImage:backgroundImageRef];
CIImage *inputImage = [[CIImage alloc] initWithCGImage:inputImageRef];
CIFilter *multiply = [CIFilter filterWithName:@"CIMultiplyBlendMode"];
[multiply setDefaults];
[multiply setValue:intputBackgroundImage forKey:@"inputBackgroundImage"];
[multiply setValue:inputImage forKey:@"inputImage"];
CIImage *result = multiply.outputImage;
CIContext *ctx = [CIContext contextWithOptions:nil];
CGImageRef resultRef = [ctx createCGImage:result fromRect:CGRectMake(0, 0, imgFrame.size.width, imgFrame.size.height)];
UIImage *resultImage = [UIImage imageWithCGImage:resultRef];
CGImageRelease(resultRef);
Это работает, я получаю изображение, у которого есть inputImage, смешанный с backgroundImage, но на самом деле это занимает больше времени, чем если бы ятолько что сделал это с помощью CoreGraphics и CGContext ().Есть ли способ проверить, не выполняется ли эта работа на графическом процессоре, есть ли причина, по которой его не будет?
Спасибо,