c – Direct3D是否应该在Windows中使用OpenGL?

由于微软通常对Direct3D有偏见,因此Direct3D中使用VBO的场景是否比在OpenGL中使用VBO的场景更快,或者是否与图形卡驱动程序相同?
谢谢

解决方法

性能方面,假设出色的GPU驱动程序,总体上没有差别.

尽管DX10解决了这个问题,OpenGL中的一些操作本身就比DirectX9更快.

但使用外部硬件的一个很好的经验法则是,您不是使用API​​来确定性能.

在编写网络代码时,瓶颈是网络适配器,如果您的套接代码是用.NET编写的,或者是使用一些Python库,则不需要使用.NET,普通的Berkeley套接字.

当编写代码以使用GPU时,GPU是限制因素. DirectX和OpenGL之间的最大区别在于,可能需要一个函数调用或者两个以上的函数来实现某些任务,而且性能成本几乎不存在.在这两种情况下,GPU都会发生什么,因为这是由GPU驱动程序决定的,因为OpenGL和DirectX都尽可能的高效.

有理由更喜欢任何API.

DirectX具有更好的工具支持.微软做得非常好.使用像PIX这样的工具,调试和优化DirectX代码更容易.而微软还提供了助手库D3DX,它提供了许多常用功能的高效实现.

OpenGL具有的优点是它不受特定操作系统的限制. DirectX9仅适用于Windows. DX10及以上版本仅适用于Vista及以上版本.

OpenGL适用于已经编写了OpenGL驱动程序的任何操作系统.

在Windows上,情况有时有点尴尬. Windows本身只是OpenGL的古老实现. (XP与v1.1,我相信,Vista / 7与1.5).

因此,Windows上的OpenGL应用程序依赖于GPU供应商来提供其驱动程序的更新实现. ATI和NVidia提供了非常好的实现,所以这不是一个问题.英特尔的OpenGL驱动程序通常落后于质量和支持功能.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...