問題タブ [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.
c++ - NVIDIA GTX960M で GL_SHADER_STORAGE_BUFFER の glGetBufferSubData と glMapBufferRange が非常に遅い
並べ替え操作を実行するために GPU バッファーを CPU に転送する際に問題が発生しました。バッファはGL_SHADER_STORAGE_BUFFER
300.000 個の float 値で構成されています。での転送動作glGetBufferSubData
は 10msglMapBufferRange
程度、 では 100ms 以上かかります。
私が使用しているコードは次のとおりです。
主なことは次のとおりです。
countPixs は計算シェーダーですが、実行コマンドにコメントを付けると、読み取りにまったく同じ時間がかかるため、問題はないと確信しています。
奇妙なことに、float が 1 つだけの getbuffer を実行すると、次のようになります。
まったく同じ時間がかかります...だから、何かが間違っていると思います...おそらくに関連していGL_SHADER_STORAGE_BUFFER
ますか?