1

以前は3Dグラフィックスプログラミング中に速度の問題を考慮していませんでしたが、今はリアルタイムアプリケーションで真剣に検討する必要があります。リアルタイムだけでなく、オフラインでも多くのループを使用する必要があります。以前は、このような基本的なforループを使用してアルゴリズムを記述していました。

for (i=0; i<nb; i++){}

したがって、上記のforループを使用してアルゴリズムを実行すると、ネストされたループも考慮することができます。それが完了するまで5〜10秒待つ必要がありますが、プロのソフトウェアを見ると、同じアルゴリズムに対してはるかに高速な方法があります。瞬き時間でアルゴリズムが終了します。専門家ではありませんが、MeshLabの簡単な例です。

つまり、meshlabが使用しているのは、以下のようなイテレータです。

std::vector<int> pStorage;          
vector<int>::iterator it;
for (it = pStorage.begin(); it!=pStorage.end(); ++it){}

したがって、私の質問は、アプリケーションを高速化するためのアルゴリズムに、どのように、どのforループを使用する必要があるかということです。なにか提案を?

私はこのトピックについて何日も研究を続けており、イテレータの方が速いことがわかりましたが、試してみて使用しましたが、速度に違いはありませんでした。なぜですか?3Dグラフィックスプログラミングは通常、処理に時間がかかりますが、ループを高速化するための最速の方法を見つける必要があります。

ありがとう。

4

0 に答える 0