私はCIImage
のシーケンスにCIFilters
を適用しようとしており、それらをリアルタイム(少なくとも20〜30fps)で表示したいと考えています。iOSのCIFilterから(近くに)リアルタイムのパフォーマンスを得ることは可能ですか?
画像がEAGLを通じてGLKView
上に描かれているがCIContext
私は(更新方法で)このコードで自分の画像を描画し、私は(すでにタイトなビットである)±20 FPSを得るを裏付け
image = [image imageByApplyingTransform: CGAffineTransformMakeScale(@scale, @scale)];
[self.capture_controller.core_image_context drawImage:image atPoint: [0, 0] fromRect: image.extent];
それは10-12 FPS(compo
がinputImageとは、すべて一度に設定されているCISourceOverCompositing
フィルタである)に低下する前に、私はちょうど1単純なフィルタを追加する場合:
[self.compo setValue:image forKey: @"inputBackgroundImage"];
image = [self.compo outputImage];
CoreImageのパフォーマンスを向上させる方法はありますか? UIImageViewはシーケンスをより速く表示できるので、可能なはずです。
を私は答えは依存していると仮定します。どのデバイス、解像度、フィルタとフィルタ数に依存しますか。 –
はい、それは問題の一部ですが、現在のところ私の画像はかなり小さいです(640x426)。 WWDCセッションビデオで見ることができるように、ビデオストリーム上のシンプルなフィルタを使用して、リアルタイムまたはほぼリアルタイムの処理が行われます。ここで私はいくつかの画像があり、それは地獄のように遅いです。 – hlidotbe
どの端末でですか? –