私はボードの形で画面を満たす56の六角形の部分を表示するゲームを書いています。私は現在、ピースを描画するために呼び出されたときに渡された座標に基づいて6ポイントからパスを作成するシングルトンレンダリングクラスを使用して各パーツを描画しています。このパスは無地の色で塗りつぶされ、白い勾配が図面上にオーバーレイされ、ピースに光沢のある外観が与えられます。私は現在Core Graphicsでこれをやっています。iPhoneで私の2D図面を最適化するのに助けが必要
私の最初の考えは、私が描くたびにパスを作成するのはコストがかかり、何とかこれを一度やり直してから再利用できるように思えますが、これに対して最善の方法は不明です。 Sharkのボトルネックを見ると、PNGの描画がプロセスの最も課金的な部分であるように見えます。私はpngオーバーレイをレンダリングするか、オーバーレイなしでパスをレンダリングしようとしましたが、どちらもフレームゲインを得ていますが、pngオーバーレイを削除するとほとんどのフレームが得られます。
私の現在の考えは、起動時に6つのパス(私が持っている各色の1つにつき1つ)をレンダリングし、それらをpngでオーバーレイしてから、これらのピースのイメージを格納し、それら。あなたが一度描いたものを保存してそれを再描画するためのエフェクティブなマカニズムがありますか?まあまあ、私は全体の図面PNGsに再び頻繁に実行するだろうと思うちょうど同じことを行う以下の課税方法です...
何か提案が大歓迎です。 ありがとう!
ありがとうございます! 「CGLayerオブジェクトを使用するとパフォーマンスが向上します。特に、同じ縮尺と向きで繰り返しスタンプする図面をキャプチャする必要がある場合は、パフォーマンスを向上させることができます。" – Skyler