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

Lwjgl3Application从1.9.10升级至1.9.11及更高版本后Mac端绘制性能下降

问题根因

该异常是libGDX 1.9.11版本对Lwjgl3后端的默认帧提交逻辑调整后,与2014款MacBook Pro搭载的Intel Iris系列核显的OpenGL驱动不兼容导致:渲染线程生成的帧和屏幕垂直刷新时机错位,所以会出现水平分段渲染、带状伪影、感知卡顿但Gdx.graphics.getFramesPerSecond()统计帧率正常的情况,因为统计的是渲染完成的帧数,而非实际显示到屏幕的有效帧数。

修复方案

可按优先级尝试以下方案:

  • 方案1:显式配置Lwjgl3垂直同步与帧缓冲参数,绝大多数场景下可解决问题。在Lwjgl3ApplicationConfiguration初始化时添加如下配置:
    config.useVsync(true);
    config.setSwapInterval(1);
    config.setForegroundFPS(60);
    // 显式指定双缓冲、深度/模板位参数,适配旧Intel核显
    config.setBackBufferConfig(8, 8, 8, 8, 16, 0, 2);
    
  • 方案2:若方案1无效,可临时切换到Lwjgl2后端(即测试正常的LwjglApplication),旧款Intel核显的Mac设备对Lwjgl2的适配成熟度远高于Lwjgl3,无兼容性问题。
  • 方案3:如果必须使用Lwjgl3且方案1不生效,可将libGDX的Lwjgl3依赖包单独锁定到1.9.10版本,其余依赖保持高版本即可。

修正后的启动器代码

public class DesktopLauncher {
    public static void main (String[] arg) {
        final Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
        // 添加修复配置
        config.useVsync(true);
        config.setSwapInterval(1);
        config.setForegroundFPS(60);
        config.setBackBufferConfig(8, 8, 8, 8, 16, 0, 2);
        new Lwjgl3Application(new MyGdxGame(), config);
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:54:04