对于非游戏而言,OpenGL仍比Direct3D好吗? [英] OpenGL still better than Direct3D for non-games?

查看:92
本文介绍了对于非游戏而言,OpenGL仍比Direct3D好吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

标准模型是OpenGL用于专业应用程序(CAD),而Direct3D用于游戏.

The standard model has been that OpenGL is for professional apps (CAD) and Direct3D is for games.

随着openGL 3.0的崩溃,openGl仍然是技术性3D应用程序(cad/GIS)的自然选择吗?
是否有Direct3D的场景图库?

With the debacle of openGL 3.0, is openGl still the natural choice for technical 3D apps (cad/GIS)?
Are there scenegraph libraries for Direct3D?

(当然Direct3D仅是Windows.)

(Of course Direct3D is windows only.)

推荐答案

D3D使您支付Microsoft的战略税".也就是说,D3D服务于两个主服务器.一种是为您提供功能和性能.另一个是确保通常锁定到其他MS产品和Windows平台.这会对您造成一些后果:

D3D makes you pay the Microsoft "strategy tax." That is, D3D serves two masters. One is giving you features and performance. The other is to ensure lock-in to other MS products and the Windows platform generally. This has some consequences for you:

  1. D3D应用程序只能在Windows(包括Xbox)上运行.也许您现在认为这并不重要.但是,如果将来要在Mac,Linux,PS3,将来的控制台等上运行,那么您可能会很高兴选择与平台无关的选择.

  1. A D3D app won't run on anything but Windows (including Xbox). Maybe you don't think that's important now. But if, down the road, you want to run on Mac, Linux, PS3, future consoles, etc., you may be glad you chose the platform-independent choice.

MS可以做出一些任意决定.下一版本的D3D是否只能在需要新硬件,昂贵且很多人不想升级到的操作系统上运行?他们将来还会做出其他您不同意的决定吗?

MS can make some arbitrary decisions. Will the next version of D3D only run on an OS that requires new hardware, is expensive, and lots of people don't want to upgrade to? Will they make some other future decision you don't agree with?

从历史上看,OpenGL带领D3D快速公开了新的硬件功能.这是因为该标准中有一种机制,供供应商添加自己的扩展,并将这些扩展最终折叠到主要规格中. MS希望D3D成为它想要的东西,可以肯定有供应商的意见,但MS拥有否决权.您可能很容易陷入Vista之类的情况,MS决定不向旧的DX公开新的硬件功能,而仅在Vista上提供新的DX.对于游戏开发者来说,这是一个令人头疼的事情.

Historically, OpenGL has led D3D in quick exposure of new HW features. This is because there's a mechanism in the standard for vendors to add their own extensions, and for those extensions to eventually be folded into the main spec. D3D is whatever MS wants it to be, with input from vendors to be sure, but MS gets veto power. You could easily be in a situation like with Vista, where MS decided not to expose new HW features to the old DX, and only make the new DX available on Vista. This was quite a headache for game developers.

现在,这就是为什么专业应用程序"(CAD,动画,科学可视化,GIS等)偏爱OGL的原因,像这样的应用程序想要稳定多年,需要持续维护和改进,并希望在许多平台上运行.这与通常只在一个平台上发布但通常不会维护"的游戏形成对比(可能不会是2.0,而是三年内对另一个OS的更新,因此不需要支持较旧的硬件等).游戏需要最大的性能,并且只需要在较短的时间范围内和固定数量的平台上运行即可.如果他们仍然需要以Windows为目标并且D3D更快一些,那可能是正确的选择,因为D3D带来的负面影响不会像CAD应用程序那样伤害他们.

Now then, this is the flavor of reasons why a "professional app" (CAD, animation, scientific visualization, GIS, etc.) would favor OGL -- apps like this want to be stable for many years, need ongoing maintenance and improvement, and want to run on many platforms. This is in contrast to games, which quite frequently are only on one platform, will be released but generally not "maintained" (there likely won't be a 2.0, an update for another OS three years hence, don't need to support older HW, etc.). Games want maximum performance and only need to work for a short time window and on a fixed number of platforms. If they need to target Windows anyway and D3D is a little faster, that may be the right choice since the negative D3D consequences won't hurt them like it would for a CAD app, say.

这篇关于对于非游戏而言,OpenGL仍比Direct3D好吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆