OpenGLフラグメントシェーダ内でビット演算と除算を実行する必要があるかどうか、またはシェーダを実行する前に(C++で計算して一様に渡す)どうか不明です。私が実際にやっていることは、RGB値を表す16進intをOpenGLで描画するために使用できる色に変換することです。通常はどのシステムより高速でしょうか?OpenGLシェーダの中で、またはC++でビット単位で処理する方が速いのですか?
答えて
ドローコールごとに1つの値が計算される場合は、C++で実行します。
GPUは非常に高速ですが、数百万の頂点やフラグメントに対して同じ値を計算させることにはほとんど意味がありません。
しかし、データがどのように渡されるかという問題があります。違いがあると思われる場合は、両方のアプローチを試して、それらをプロファイルしてください。
GLSLのプロファイルを作成するにはどうすればよいですか? – Accumulator
私はちょうどフレームレートを考えていましたが、それはスレッジハンマーのアプローチです。 – geofftnz
@geofftnz:GLSLコンパイラも最適化を行う可能性があることに注意してください。 1回の操作を何度も実行すると、別の操作に完全に書き換えられることがあります。また、非常に安価な命令の場合、ウィンドウシステムなどの他の要因によるフレームレートのノイズは、シェーダのパフォーマンスへの影響よりも重要です。 – Bartvbl
- 1. バイト単位でビット単位でインクリメント(C#)
- 2. IEにアクセスできないC#で処理中のDOMが処理中です。
- 3. ビット単位のOR処理エラー
- 4. c、ビット単位、論理式
- 5. C++でboolをビット単位でシフトできますか?
- 6. マイクロコントローラでのビット単位の論理
- 7. Cでのビット単位の操作 - AnyOddBit
- 8. C#のビット単位のANDの逆数は何ですか?
- 9. Cではビット単位&if文
- 10. C#の方が速い:32ビットまたは64ビットのビルド?
- 11. OpenGL 2.0ベースのシェーダ処理コードが:: glBegin()でクラッシュする原因は何ですか?
- 12. ファイルを行単位で処理する
- 13. 録画中にフレーム単位でAndroidビデオを処理する
- 14. フレームをキュー単位で処理する方法は?
- 15. ビット単位でのシフト
- 16. Doctrine2 Querybuilderのビット単位で
- 17. Excelマクロをセル単位で処理するためのマクロ
- 18. 処理単位(#cpu、コア)のnrをcで得るポータブルな方法は?
- 19. Pythonではビット単位のNOT演算子は何ですか?
- 20. Nimrodでは、ビット単位操作の構文は何ですか?
- 21. java androidで配列を処理する方が速いのですか?
- 22. シェーダでFloat32Arrayを処理する方法は? (WebGL)
- 23. memcmp - 2つのバッファをビット単位で比較するより速い方法です。
- 24. iOS - テストディープリンクをユニット単位で処理する方法app-side
- 25. ビット単位のオーバーフローチェックin c
- 26. ビット単位のC操作
- 27. ビット単位の操作はまだ実用的ですか?
- 28. ulong(C#)の最下位ビット位置を取得する最速の方法は?
- 29. 処理が速いのはどちらですか?
- 30. Qtプロジェクトでビット単位の演算子が壊れていた
色は頂点ごとの属性ですか、またはテクスチャを渡していますか? – Nonanon