Question: I'm trying to apply some `CIFilters` to a sequence of `CIImage` and would like to display them in realtime (at least 20-30 fps).

The images are drawn on a `GLKView` through a EAGL backed `CIContext`

When I draw my images with this code (in the update method) I get ± 20 fps (which is already a bit tight):

```
image = [image imageByApplyingTransform: CGAffineTransformMakeScale(@scale, @scale)];
[self.capture_controller.core_image_context drawImage:image atPoint: [0, 0] fromRect: image.extent];

```

If I add just one simple filter before it drops to 10-12 fps (`compo` is a `CISourceOverCompositing` filter for which the inputImage is set once for all):

```
[self.compo setValue:image forKey: @"inputBackgroundImage"];
image = [self.compo outputImage];

```

Is there any way to get better performances from CoreImage? I think UIImageView can display a sequence faster so it should be possible.

Answer: 
Apple is providing a manual to do this.

* [Creating a Core Image Context on iOS When You Need Real-Time Performance](https://developer.apple.com/library/mac/documentation/GraphicsImaging/Conceptual/CoreImaging/ci_tasks/ci_tasks.html#//apple_ref/doc/uid/TP30001185-CH3-SW19)

Cited from the manual:

```
EAGLContext *myEAGLContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];

NSDictionary *options = @{ kCIContextWorkingColorSpace : [NSNull null] };
CIContext *myContext = [CIContext contextWithEAGLContext:myEAGLContext options:options];

```
So, from what I gathered and from Jeshua comments, performances are (obviously) bound the device and there's not much to do about it if I use CIFilters.