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

前端之家收集整理的这篇文章主要介绍了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&C++相关文章