私は 100,000 回の反復で for ループを使用しています。各反復には、いくつかのオブジェクトの位置の単純な距離計算が含まれます。これはすべて、洗練された衝突検出メカニズムの一部です。
不要な反復が多すぎると効率が悪く、プログラムの速度が低下します。ソートされたベクトルを使用して計算時間を短縮したいと考えています。
したがって、代わりに、「グリッド」に従って位置をソートする2Dベクトルに参照要素を挿入することにより、反復を最小限に減らすことを考えました。100,000回の反復の代わりに、同じ計算でおそらく1000回の反復しかありませんが、現在は特定の「セクター」のみが関係しています。ただし、オブジェクトの位置が変わるたびに、push_back と erase を使用して、オブジェクトのグリッドまたはセクターの位置で 2D ベクトルを定期的に更新する必要があるという欠点があります。
私の質問は、コードではなくパフォーマンスに関するものです。erase と push_back を使用してベクトルを更新すると、力ずくの反復試行を使用するよりも速くなりますか? このアイデアを追求する価値があるかどうか、大まかな見積もりが必要です. ありがとう。