【发布时间】:2016-06-21 11:12:34
【问题描述】:
当我使用 LWJGL 编写 java 程序并使用 glGetString(GL_VERSION); 获取 OpenGL 版本时。然后显示:2.1.0 - Build 8.15.10.1892
当我打开我的 Windows 控制台(使用著名的“cmd”运行)并使用 systeminfo 时,它不仅提供了有关 Windows 安装日期的任何信息。
我想获得 Windows 的安装日期,因为那时我知道我的笔记本电脑有多旧。在网上搜索后,我使用了WMIC OS GET installdate,终于找到了一个日期:2010 年 11 月 11 日。
我认为这是真的,因为我至少记得同一年。当然,该设备可能在工厂或商店里已经有一段时间了。
当我查看 OpenGL 2.1.0 有多旧时,我发现它大约是 2006 年 https://www.opengl.org/wiki/History_of_OpenGL#OpenGL_2.1_.282006.29
我对我的 OpenGL 版本感到失望。 我正在运行 64 位 Windows 7。该设备可能至少从 2010 年底开始,但 java 显示 2006 的 OpenGL 版本。 在 2010 年 11 月之前广泛存在更新的 OpenGL 版本,例如版本 3.0 (2008)、3.1 (2009) 和 3.2(也是 2009)
有没有可能是 JVM 只能访问旧版本的 OpenGL? 前段时间,我在这台笔记本电脑上玩了一个 CD-rom 游戏。我认为如果使用 OpenGL 2.1.0,该游戏将永远无法玩...... 或者这是一个不公平的比较?
【问题讨论】:
-
提供(现代)OpenGL 的不是 Windows,而是您的显卡驱动程序。如果您有旧显卡,供应商可能不想为更新旧显卡驱动程序付费。
-
所以我真的买了2010年的电脑,2006年的软硬件技术?也许我什至没有为我的显卡获得驱动程序更新?
-
我不知道。有一些开源工具可以检查您的显卡的 OpenGL 功能,您可能需要下载其中一个并检查您是否真的使用 2.1 或者它是否只是 LWJGL。
-
@user2190492 在笔记本电脑上,通常有 2 个单独的 GPU,一个用于通用显示的集成 GPU(Windows 应用程序、Windows 本身等)和一个用于图形密集型应用程序(游戏等)的独立 GPU .)。 LWJGL 或您的 Java VM 很容易在不支持更高 OpenGL 版本的集成 GPU 上运行。
-
如果是这种情况,我该如何更改它以在正确的 GPU 上运行?但我不认为我的笔记本电脑有多个显卡。 Windows 设备管理器仅列出一张显卡。 (移动 Intel(R) 4 系列高速芯片组系列)
标签: opengl operating-system version lwjgl drivers