DICE和AMD许诺本月底会发布Mantle版《战地4》以及新的催化剂补丁(到现在都没信,不会又跳票吧),关键看点就是支持的Mantle API可以大幅提升游戏性能。对于AMD的Mantle优化,与其说是GPU优化,还不如说是CPU优化,因为相比D3D API,Mantle可以大幅降低CPU间接成本,Draw Call绘制命令可达D3D的10倍。对于这个问题,NVIDIA表示OpenGL API中早已有类似的功能,同样可以提高Draw Call命令数量,降低CPU的间接成本。
在本月的一次会议上,NVIDIA公司技术人员Cass Everitt及John McDonald做了“如何用现代OpenGL减少GPU驱动层瓶颈、提升Draw Call数量”的演讲,详细阐述了OpenGL的API作用,从Draw Call为什么会受到限制、如何突破限制、效果如何以及有什么样的副作用皆有涉及。
从他们的讲解来看,GPU是一个复杂的结构,图形渲染有非常多的步骤,限制Draw Call命令数量的最大因素是“验证”过程,而预验证目前来说还是非常困难的,这就导致了Draw Call命令花费的时间比较多,成为瓶颈之一,而微软的D3D API还不够快,原生的OpenGL比D3D要好,不过还不够好。
通过GL_ARB_buffer_storage API、 Bindless/sparse textures纹理、Shared UBOs (uniform buffer object) 以及GL_ARB_multi_draw_indirect API,OpenGL也能大幅减少CPU间接成本上,重要物体的数量有5-30x的提升,与驱动层的交互时间降低了75%。当然,OpenGL也有一点副作用,GPU性能会因此受到影响,虽然并不明显。
在NVIDIA之前,原ID大神约翰·卡马克也做过类似表态,他表示不会为AMD的Mnatle API写代码,除了事务繁忙之外,更主要的是他认为OpenGL中已经有类似的功能了。众所周知,他本人也是OpenGL控。
游客 2014-11-22 01:44
该评论年代久远,荒废失修,暂不可见。
支持(0) | 反对(0) | 举报 | 回复
9#
游客 2014-02-03 20:32
该评论年代久远,荒废失修,暂不可见。
支持(0) | 反对(0) | 举报 | 回复
8#
游客 2014-01-27 18:35
该评论年代久远,荒废失修,暂不可见。
支持(1) | 反对(0) | 举报 | 回复
7#
游客 2014-01-27 13:03
该评论年代久远,荒废失修,暂不可见。
支持(1) | 反对(1) | 举报 | 回复
6#
游客 2014-01-26 17:20
该评论年代久远,荒废失修,暂不可见。
支持(0) | 反对(0) | 举报 | 回复
5#
我匿名了 2014-01-26 15:02
该评论年代久远,荒废失修,暂不可见。
支持(0) | 反对(0) | 举报 | 回复
4#
游客 2014-01-26 12:34
该评论年代久远,荒废失修,暂不可见。
支持(0) | 反对(0) | 举报 | 回复
3#
游客 2014-01-26 11:11
该评论年代久远,荒废失修,暂不可见。
支持(0) | 反对(0) | 举报 | 回复
2#
游客 2014-01-26 11:02
该评论年代久远,荒废失修,暂不可见。
支持(6) | 反对(0) | 举报 | 回复
1#