NVIDIAが”OpenGL NVIDIA Command-List: Approaching Zero Driver Overhead”というNVIDIA GPUにおける低CPUレイテンシなOpenGLの呼び出しのアプローチについての発表スライドとコードを公開しています.
コードの方は下記で公開されています.
gl_commandlist_basic
https://github.com/nvpro-samples/gl_commandlist_basic
NV_command_list拡張を利用することで,CPU負荷が低い状態でOpenGLを利用できるようです.独自のAPIではないので既存のOpenGLのコードやシェーダから移行しやすいかもしれません.
gl_commandlist_basicのページでは,1,024オブジェクトの描画で以下のような動作速度になったようです(win7-64, i7-860, Quadro K5000 system).
draw mode | GPU time | CPU time (microseconds) |
---|---|---|
standard | 850 | 1750 |
nvcmdlist emulated | 830 | 1500 |
nvcmdlist buffer | 775 | 30 |
nvcmdlist list | 775 | <1 |