【发布时间】:2011-08-02 17:01:08
【问题描述】:
什么是 Direct3D?它是一个 API,不是吗?是Windows实现的还是显卡实现的?
如果显卡实现了 Direct3D API,为什么其他操作系统不能使用显卡的 Direct3D 资源?
如果 Direct3D 是由 Windows 实现的,它必须使用显卡资源,例如 OpenGL 或 OpenCL。如果 Direct3D 调用不直接到显卡,由于中间调用,它会更慢。
请帮助我了解 Direct3D 是什么。
【问题讨论】:
-
如果我将此作为答案,它将被“fanbois”粗暴地否决,但这是直接的答案:Direct3D 仅适用于 Windows,因为这就是 MS 保留对游戏的独占访问权限的方式。这是一种营销限制,而不是技术限制。它可以扩展为在其他系统上运行,但这不是 Microsoft 的业务目标。
-
@SpliFF 幸运的是我不是粉丝,我同意,但也不同意你的观点。 Direct3D 使用各种 Windows 专有模块。移植它,虽然我怀疑可能,但往往不是一个坏主意。
-
我完全同意上面的 SpliFF,这很明显。如今,游戏开发人员几乎只使用 DirectX API(尽管这可能正在慢慢改变)。有关更多信息,请参阅下面的我的回复。然而,移植它并非易事,但 Wine 似乎做得很好。最重要的因素是游戏开发者是选择使用 OpenGL 还是 DirectX。
标签: windows graphics direct3d gpu