You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询多显卡笔记本上libGDX/LWJGL游戏所用的显卡?

查询libGDX/LWJGL游戏当前使用的显卡

libGDX本身没有直接提供查询当前活跃显卡的内置函数,但可以通过它依赖的LWJGL底层API来获取硬件信息,以下是几种可行方案:

1. 跨平台获取渲染器信息(最简单)

使用LWJGL的GLU工具类调用gluGetString(),返回的渲染器字符串通常包含完整的显卡型号,代码如下:

import org.lwjgl.util.glu.GLU;

// 在游戏初始化完成后调用(比如create()方法中)
public String getCurrentGPU() {
    return GLU.gluGetString(GLU.GLU_RENDERER);
}

返回示例:NVIDIA GeForce RTX 3060/PCIe/SSE2,直接就能看出当前使用的显卡型号。

2. 分平台调用系统底层接口(更精准)

如果需要更详细的设备信息,可以针对不同系统调用对应底层接口:

  • Windows平台:借助WGL和User32接口获取设备上下文的显卡名称
    import org.lwjgl.system.windows.User32;
    import org.lwjgl.opengl.WGL;
    import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Graphics;
    
    public String getWindowsGPUName() {
        Lwjgl3Graphics graphics = (Lwjgl3Graphics) Gdx.graphics;
        long hdc = WGL.wglGetCurrentDC();
        byte[] nameBuffer = new byte[256];
        User32.GetDeviceString(hdc, User32.GDIOBJECT_NAME, nameBuffer, nameBuffer.length);
        return new String(nameBuffer).trim();
    }
    
  • Linux/macOS平台:通过GLX接口获取显示设备信息,或读取系统文件(如NVIDIA显卡可读取/proc/driver/nvidia/gpus/下的文件)辅助验证。

3. 额外验证:强制指定显卡运行

如果想确认游戏是否在独立显卡上运行,可以通过系统设置强制程序使用目标显卡:

  • Windows:右键游戏启动程序 → 图形运行方式 → 选择高性能独立显卡
  • macOS:系统设置 → 显示器 → 图形卡 → 为游戏指定独立显卡

注意事项

  • 确保项目已包含LWJGL依赖(libGDX默认集成)
  • 部分笔记本的显卡自动切换机制会根据负载切换显卡,查询结果可能随游戏运行状态变化

内容的提问来源于stack exchange,提问作者Sebastian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 03:44:53