2010-11-28 14 views
3

可能な限り高いフレームレートを実現するために、メモリからピクセルラスタをiOSデバイスの画面にレンダリングする最も速い方法は何ですか?ピクセルをコピー、正投影モードでの使用のOpenGL iOSデバイスでピクセルラスタを表示する最も速い方法

  • CGImageオブジェクトを削除し、その後、CGImageCreateとCGImageを作成のdrawRectメソッドでCGContextDrawImageで画面上にそれを描き、

    1. :私は2つのアプローチを把握することができますglTexImage2Dを使用してテクスチャを作成し、そのテクスチャでクワッドをレンダリングしてください。

    おそらく2番目の方法は最初の方法より速くなります。しかし、それは重要な速さか、ちょっとだけでしょうか?そして、私が言及した最初の2つよりも速くなる3つ目の方法がありますか?

  • +0

    フレームごとにglTexImage2Dメソッドを呼び出す方法はありますか? –

    答えて

    0

    イメージが頻繁に更新されている場合は、フレームごと(またはほぼすべてのフレーム)にテクスチャを作成するとかなりのパフォーマンスが低下します。 CALayerを使用し、contentsプロパティを使用するCGImageRefに設定すると、より良い運が得られる可能性があります。結果はCGContextDrawImage()の説明と似ていますが、コアアニメーションのレンダリングの柔軟性が増し、うまくいけば速くなります。

    +0

    興味深いですね。コンテンツプロパティをCGImageRefに設定すると、イメージがすぐに表示されるのでしょうか、何らかの再描画メソッドを呼び出さなければなりませんか? –

    +0

    再描画をトリガーするために内容を変更した後、 ' - [CALayer setNeedsDisplay]'を呼び出さなければならないと思います。厳密には必要でない場合でも、必要に応じて更新されるだけなので、関連するパフォーマンスヒットはないはずです。 –

    関連する問題