gpt4 book ai didi

java - 60FPS 的滞后空项目

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:13:14 24 4
gpt4 key购买 nike

@Override
public void create() {
batch = new SpriteBatch();
img = new Texture("badlogic.jpg");
}

@Override
public void render() {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
if (x < 0 || x > 400) {
speed = -speed;
}
x += speed * Gdx.graphics.getDeltaTime() * 60;
Gdx.app.log("delta",Gdx.graphics.getDeltaTime()+"");

batch.begin();
batch.draw(img, x, 0);
batch.end();
}

我遇到了一个问题,我创建了一个新项目。 libgdx 试图保持 60FPS 和 avarage deltatime 的问题是 ~16ms。一些渲染需要 +20ms,然后下一个渲染需要 12ms(render1 + render2 = 32ms)来达到 60FPS。这使游戏变得迟钝。如您所见,我在项目中没有任何内容,在 desktoplaunch 中也是如此。你是如何解决这个问题的?

注意:我也试过 reqeustRendering。但如果渲染花费的时间比平均时间长,那也是一样的。如果小于 16 毫秒,我还尝试等待一段时间进行渲染。它也没有帮助。它没有任何 GC 问题。我使用 Libgdx 1.6.4。

最佳答案

不要在渲染循环中记录输出

删除行Gdx.app.log("delta",Gdx.graphics.getDeltaTime()+"");因为这会将输出写入日志,这会显着减慢渲染循环。

关于java - 60FPS 的滞后空项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31834661/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com