【问题标题】:libgdx game, graphics are not displayed on ldpi screenlibgdx 游戏,图形不显示在 ldpi 屏幕上
【发布时间】:2013-12-13 12:01:24
【问题描述】:

我在游戏开始时加载所有资产,但在 ldpi 手机上,启动屏幕后,它显示一个白屏,我收到错误 egl 交换内存缓冲区。 我的代码如下:在构造函数的初始屏幕中:

Assets.loadAssets();

在更新方法中

if(Assets.manager.update())    
{
    Assets.getLoadAssets();
    gameSplashObj.setScreen(new MainMenu(gameSplashObj));    
}

但我会得到白屏。我是否做错了什么或任何其他优化方式来实现这一点。

【问题讨论】:

  • egl swap memory buffer 似乎与任何资产无关。 ldpi 提示是旧设备。你使用 OpenGL 2 吗?也许尝试在 Android 的启动配置中禁用它。
  • 是的,它在旧设备中存在问题,因为某些早于 2.3.6 的 mdpi 也有同样的问题。
  • 它与android版本无关,在2.3.5上具有更好GPU的hdpi手机也将运行流畅这完全是因为手机可以处理的纹理大小

标签: java android optimization libgdx


【解决方案1】:

当您加载的纹理大于设备可以处理的最大纹理大小 (GL_MAX_TEXTURE_SIZE) 时,通常会发生这种情况(图像为纯白色)。

如果您计划支持 ldpi 设备,请考虑缩小纹理。

【讨论】:

    【解决方案2】:

    解决此问题的一种简单方法是在打包图像时**

    将最大宽度和高度设置为 512 ,512 甚至更低 256 ;反而 1024 或 2048。

    ** 这样你的图形大小也不会增加,同时它解决了 ldpi 设备的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-14
      • 2018-12-30
      • 2013-10-27
      • 2018-08-12
      • 1970-01-01
      • 2016-03-03
      相关资源
      最近更新 更多