我一直在考虑开始一个新的图形项目,我想使用 Java。Java 包含所有相关 GL 功能的包装器,但我想知道有多少人,包括临时用户,实际上安装了不错的 GL 驱动程序。体面,我的意思是有点稳定和相当新(GL 1.5 支持可能会,尽管 2.0 附带的 GLSL 支持会很棒)。我可以使用 DirectX,即使使用 Java,但我非常讨厌它,而且这个项目应该很“有趣”。另外,我喜欢 GL 至少接近跨平台的特性。那么,任何人都知道关于有多少百分比的 Windows 用户拥有运行 GL 应用程序的驱动程序的任何非虚构统计数据?
6 回答
Steam 硬件调查可能是了解游戏玩家拥有的最佳和最详细的信息来源。一般人群的准确统计数据将更难获得。相反,您应该根据您想要图形硬件的最新程度来看待这一点。例如,从 R300 系列 (Radeon 9550+) 开始的任何 ATI 芯片都支持 OpenGL 2.0。在 NVidia 方面,任何 GeForce 6000+ 系列芯片都将支持 OpenGL 2.0,其前身 FX 系列几乎支持 OpenGL 2.0。R300 系列和 FX 系列都是在 2002 年推出的,因此如果您知道目标市场的哪一部分正在使用 2003 年或之后的 PC,您就会对 OpenGL 2.0 支持在具有独立显卡。
如果您想支持集成显卡(这是市场上最大的部分,但对于那些认真对待任何类型的显卡的人来说并不是特别常见),您的用户将至少需要一个 GMA X3000 来实现 OpenGL 2.0 功能的硬件加速,这意味着他们的系统必须是 2006 年或更晚的版本。
如果您对其他操作系统的支持感兴趣,任何英特尔 Mac 都将支持 OpenGL 2.0 以及软件回退和硬件加速,只要该芯片在 Windows 下支持它。在 Linux 上,任何具有 Mesa 7 或更高版本(2007 年 6 月或更高版本)的系统都将支持 OpenGL 2.0 软件渲染。硬件加速不太可靠,但是 R300 和更新版本的 ATI 芯片有不错的开源驱动程序。
每个现代视频卡都支持 OpenGL……您不应该质疑有多少 Windows 机器具有 Java 运行时吗?
我记得,Windows XP 提供了开箱即用的 1.1 支持。Vista 将此升级到 1.5。因此,您至少可以将这些视为绝对最小值。
除此之外,几乎所有供应商的 GPU 驱动程序都至少为您提供2.0 支持。
但如果我是你,我会重新考虑 DirectX。我不知道你讨厌什么,但它确实有一些优点。工具支持要好得多(即,有可用的工具。PIX 简直令人惊叹),API 是最新的,设计得很好,而不是一个委员会在 20 多年的交叉工作中积累的经验,如果无论如何,这仅限于Windows,跨平台并不重要。(另一方面,当然,如果您确实需要跨平台功能,那么 DirectX 还能提供什么并不重要,它不会提供那个杀手级功能)
几乎每个人都有某种形式的 OpenGL 支持。经验表明,在处理 ATI 尤其是 Intel 硬件时,所涉及的实际驱动程序可能非常糟糕,但它至少可以工作,尽管存在上述错误。如果不出意外,Windows 可以回退到其内置的 1.1(XP 和更早版本)或 1.4(Vista 和更高版本)实现。它不会很好地工作,但它会工作。
Windows XP 带有 OpenGL 1.1(虽然速度很慢)。Windows Vista 还附带 OpenGL 1.1(但对于某些特殊应用程序,它在 D3D 之上具有 OpenGL 1.4 模拟器)。
当您在 Windows 上安装图形驱动程序时,它会安装更多 OpenGL 版本。OpenGL 1.5 大致是支持“DX9 着色器模型 2.0”的硬件。有多少机器有这种硬件取决于你的目标市场。在传统/硬核游戏领域,几乎所有游戏都会(参见 Steam 硬件调查)。
在更多休闲/小型游戏空间中,相当多的机器具有更旧的硬件(参见Unity 硬件统计- 2009 年第一季度几乎 30% 的机器比“DX9 着色器模型 2.0”更旧)。此外,该领域的许多机器都没有自定义驱动程序。他们使用 Windows 中附带的任何显示驱动程序(不提供超过 GL 1.1 的任何内容)。同样,请参阅Unity Hardware Stats - 最流行的驱动程序版本是 Windows 附带的驱动程序版本。
Stability wise, I'd strongly suggest using D3D9 on Windows instead of OpenGL. Driver quality is much better for D3D9 (less crashes inside drivers, less incorrect rendering, better performance, ...).
我想说所有 Windows 用户都对 OpenGL 有一些支持。最新版本通常是为 Vista 用户、游戏玩家和开发人员保留的。