私はタワー防衛ゲームを作ろうとしています。正確な半径の高速検索エンティティ用のゲームマップを実装しています。私はそれをstd :: list(速いpush_backエンティティポインタとリストの任意のポイントからの悪い削除ではない)で動作させましたが、リストの1500要素を反復することは極端です。私は自分のゲームの10 FPSでも打つことはできません。私はMSVSがプロファイラで示して何を紹介します:速い反復の値で任意の場所から削除するためのコンテナ
次getEntitiesInRadiusコールがリストの最後との比較で=演算子です後!。次は==演算子呼び出しです。デバッグモードで動作します。しかし、私は、デバッグでも1500要素を反復することは長すぎると思います。多分私はこの主張に間違っていますか?
リストを反復するのは遅いです。 std :: vectorに変更してみてください。削除は遅くなりますが、push_backは(償却され)速く、反復は高速です。 –
私は、デバッグモードでのテストパフォーマンスはタワー防衛ゲームを書くための意味がないと考えています – psur
+1。私はそれらを愛している、彼らの十分なことはできません。 :-) –