計算の計算と計算結果をスピードアップし、OpenGLモデルを描画する必要があります。 std :: vectorをConcurrency :: concurrent_vectorに変更し、単にforループの代わりにparallel_forを使用した場合、大きなスピードアップがアーカイブされました。 for(またはparallel_for)ループで計算され、OpenGLのための頂点が可視化されるこのベクトル(またはconcurrent_vector)。ベクトル - > concurrent_vectorマイグレーション+ OpenGL制限
OpenGLレンダリング処理では、std :: vectorがconcurrent_vectorでは大文字と小文字を区別しない順序でアイテムを保持しているため、std :: vectorを使用すると問題はありません。コードは次のように実行されます。
concurrent_vectorを生成してstd :: vectorにコピーするには、多くの項目があるため高価です。
質問:私はOpenGL配列を使用したいと思いますが、OpenGL出力と互換性のないconcurrent_vectorを使用するのも好きです。
提案がありますか?
@Igor:私は 'concurrent_vector'に別の問題があるので、私はあなたが何を意味するのか、cvはそのアイテムを順番に保持していないと言いたいのですが?私はその印象の下で、 'concurrent_vector'はベクトルと同じ/類似のメモリレイアウトを持ち、競合状態に対して例えば内部ミューテックス。 – MikeMB