問題タブ [shader-storage-buffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
502 参照

c++ - NVIDIA GTX960M で GL_SHADER_STORAGE_BUFFER の glGetBufferSubData と glMapBufferRange が非常に遅い

並べ替え操作を実行するために GPU バッファーを CPU に転送する際に問題が発生しました。バッファはGL_SHADER_STORAGE_BUFFER300.000 個の float 値で構成されています。での転送動作glGetBufferSubDataは 10msglMapBufferRange程度、 では 100ms 以上かかります。

私が使用しているコードは次のとおりです。

主なことは次のとおりです。

countPixs は計算シェーダーですが、実行コマンドにコメントを付けると、読み取りにまったく同じ時間がかかるため、問題はないと確信しています。

奇妙なことに、float が 1 つだけの getbuffer を実行すると、次のようになります。

まったく同じ時間がかかります...だから、何かが間違っていると思います...おそらくに関連していGL_SHADER_STORAGE_BUFFERますか?