今日、いくつかのブリッティング コードに取り組んでいましたが、プロファイリングを行った後、何千もの新しい四角形を作成していることがわかりました。1 つまたは 2 つの異なる new Rectangle() 呼び出ししかなかったか、BitmapData の .rect プロパティを使用していたため、ショックを受けました。
スプライト クラスに次のコードが残るまで、大量のコードをコメント アウトし始めました。
canvas.bitmapData.copyPixels(_bitmapData, _bitmapData.rect, destination, null, null, true);
オブジェクトの作成時に _bitmapData.rect の結果をキャッシュしたところ、何千もの新しい四角形の呼び出しが突然プロファイラーから消えてしまいました。
BitmapData.rect が新しい四角形を作成するのはなぜですか? コア ライブラリなどをチェックして、これが正しいことを確認する方法はありますか? 不可解に思えます。