NVIDIA的低开销OpenGL方案NV_Command_List【Siggraph Asia 2014】


1.前言



今年各大厂商都更新了3D图形编程接口,以AMD为首的Mantle、Apple在iOS8上的Metal以及MS即将在Win10部署的DX12,都是以减少CPU调用驱动开销为目的的新API,让开发者对渲染开销的掌控更加精确可控。作为图形大厂的NVIDIA也不甘落后,在深圳举办的Siggraph Asia 2014大会上提出了新的OpenGL扩展接口CommandList,结合现有的BindLess函数接口,几乎是一个很现代的OpenGL API(预计OpenGL NG也会采用这样的设计,毕竟现有的设计(StateMachine)已经不太能适应现代GPU了)。


2.OpenGL CommandList提升的效果

1.未开启CommandList支持的CPU开销




2.开启后的开销



对比之下,使用CommandList之后的渲染调用开销确实减少了很多。

3.使用CommandList的注意事项

a. 调用顺序


b. 关于多线程渲染


由于OpenGL对多线程支持的天生缺陷,所以不建议这样做,而且显然要比DirectX11难做到,见我的另一篇博文


c. 移植的步骤

使用CommandList后,需要绑定一个FrameBuffer,这和DX11要绑定一个DeferredContext一个道理。

本文版权DsoTsin所有,转载文章请注明出处!

4.参考


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值