私のゲームでは多くの計算が行われ、明らかな理由もなくフレームレートが低下することがあります。処理に時間がかかるものを知りたいです。各主要操作の経過時間を出力するタイマー (または何か) を作成する方法は?
UPD:デフォルトのプロファイラーを実行した後、ボトルネックがタイル配列ループにあることがわかりました。約 50 万個のタイルがあり、ループはタイルの 1 つのプロパティ、フレームあたり約 200 個のタイルを要求します。そのようです:
if (tileArray[tile].this_tile_is_on_screen)
tileArray[tile].Draw();
tileArray が非常に大きい場合、速度が低下する可能性はありますか? それを回避する方法について何かアドバイスはありますか?