0

N パスを描画する必要があり、パスごとに fbo から 1 ピクセルを読み取りますが、パスごとに 1 ピクセルを読み取るには遅すぎることがわかりました。次に、別のテクスチャ (rectange:N*1) を使用してピクセルをキャッシュします。つまり、パスごとに 1 つのピクセルを結果のテクスチャにコピーします。N パス後、結果のテクスチャを 1 回読み込みます。ただし、TOO SLOW もあります。たとえば、結果のテクスチャ (200*1) を読み取るには、13 ミリ秒かかりました。

この問題を解決する別の方法があるかどうか疑問に思っています。

また、非同期で動作するピクセル バッファ オブジェクトに関するいくつかの投稿も解決しました。ただし、最後のパスが完了した後、すぐに結果テクスチャの結果が必要です。CPU と GPU の両方で動作するものは他にありません。

4

1 に答える 1

2

すでにわかっているように、ReadPixels に対して実行する必要がある暗黙の同期が原因で遅くなります。非同期で作業できない場合は、パフォーマンスの低下に耐えなければなりません。まだ書き込まれていないデータを読み戻すことはできず、この場合は GPU を待つ必要があります。解決しようとしているタスクについてさらに知識がなければ、パフォーマンスを改善する方法を具体的に提案することはできません。

于 2013-07-21T12:16:34.287 に答える