微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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驱动程序通常落后于质量和支持功能.

原文地址:https://www.jb51.cc/c/116702.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐