如何降低libGdx中渲染方法的速度?[重复]

问题描述 投票:0回答:1

我是编程界的新手,想用libGDX编写小规模的游戏。我想知道,如果我们可以降低渲染方法的速度?例如:渲染方法在一分钟内运行60次左右。我们能不能把渲染方法的运行速度降低到一分钟30次或者一分钟10次或者一分钟100次等等?谢谢您!请问您是怎么做到的?

java android libgdx render
1个回答
0
投票

渲染方法在一分钟内运行约60次

每次60次 第二 是很正常的,但每60次 细微 绝对是 正常。


假设你创建了一个桌面应用程序,你可以在你的 DesktopLauncher.

要做到这一点,你可以简单地将字段分隔为 前景FPS 在你的启动配置中。

例如,它可以是这样的(我修改了来自于 此处):

package com.me.mygdxgame;
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
public class Main {
    public static void main(String[] args) {
        LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
        cfg.foregroundFPS=10;
        new LwjglApplication(new MyGdxGame(), cfg);
    }
}

然而,这是一个整数,指定了每秒调用 render() 的频率。

如果你想让它每秒被调用的速度慢于一次,你就需要使用类似于 Thread.sleep(); 内的render()方法。

但是,你的程序在这个时间结束之前不会有任何反应。

这在开发中调试测试时可能还好,但在生产中就成了一个大问题。

如果你想让你的游戏快速反应并运行一些代码,比如每分钟一次,你可以考虑使用一个后台线程(pool)或一个定时器(或类似的)。

如果您想知道LibGdX的多线程是如何工作的,您可以看一看 这个.

你基本上可以正常使用线程(除了HTML),但你应该使用 Gdx.app.postRunnable(); 为了对用户界面进行修改(比如 Platform.runLater(); 在JavaFX中)。)

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.