画面いっぱいに 56 個の六角形のピースをボードの形で表示するゲームを書いています。私は現在、ピースを描画するために呼び出されると、渡された座標に基づいて 6 つのポイントからパスを作成するシングルトン レンダリング クラスを使用して各ピースを描画しています。作品に光沢のある外観を与えるために、図面の上に白いグラデーションがオーバーレイされます。現在、Core Graphics でこれを行っていることに注意してください。
私の最初の考えは、描画するたびにパスを作成するのはコストがかかり、これを一度実行してから再利用できるように見えるということですが、これに対する最善のアプローチはわかりません. Shark のボトルネックを見ると、png の描画がプロセスの中で最も負担が大きい部分のようです。pngオーバーレイをレンダリングするか、オーバーレイなしでパスをレンダリングするだけで試してみましたが、両方ともフレームゲインがいくらか得られますが、pngオーバーレイを削除するとほとんどのフレームが得られます.
私の現在の考えでは、起動時に 6 つのパス (私が持っているカラーピースごとに 1 つ) をレンダリングし、それらを png でオーバーレイしてから、これらのピースの画像を保存し、必要なたびにピースを再描画する必要があります。一度描いたものを保存して再描画するための効率的なメカニズムはありますか? 描画png全体に頻繁に遭遇するように思えますが、同様のことを行う負担の少ない方法があるかもしれません...
どんな提案でも大歓迎です。ありがとう!