I am trying to draw a static CIImage using CIContext drawImage in the drawRect of a GLKView, however I am getting about 4 frames per second. Suggestions for improvement?
// init code
self.backgroundColor = UIColor.black;
self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
CGColorSpaceRef cs = CGColorSpaceCreateDeviceRGB();
self.ciContext = [CIContext contextWithEAGLContext:self.context options:@{ kCIContextOutputColorSpace: (__bridge id)cs, kCIContextWorkingColorSpace: (__bridge id)cs }];
self.drawableColorFormat = GLKViewDrawableColorFormatRGBA8888;
self.drawableDepthFormat = GLKViewDrawableDepthFormatNone;
self.drawableMultisample = GLKViewDrawableMultisampleNone;
self.drawableStencilFormat = GLKViewDrawableStencilFormatNone;
// draw code
- (void) drawRect:(CGRect)r
{
// Clears the screen to a black color
glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glEnable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
[self.ciContext drawImage:self.ciImage
inRect:self.bounds
fromRect:self.bounds];
}