Jar渲染滞后

时间:2014-08-11 08:03:27

标签: java jar lag

我刚将Eclipse项目导出到可运行的jar文件中。我在Eclipse中运行时没有滞后问题,但在jar中运行它时会出现极端延迟。 (运行MacOSX 10.9.4)

根据我的FPS计数器,我每秒获得超过900帧,游戏实际上正在运行,但实际上没有任何内容正在渲染。

不确定要显示哪些代码,因为它有很多,因为它是一个几乎完成的游戏。但请告诉我您可能需要的代码。

这是我的游戏循环:

public void run() {

    long start = System.nanoTime();
    final double numUpdates = 30.0;
    double ns = 1000000000 / numUpdates;
    double delta = 0;
    int updates = 0;
    int frames = 0;
    long timer = System.currentTimeMillis();

    while(running) {

        long current = System.nanoTime();
        delta += (current - start) / ns;
        start = current;
        if(delta >= 1) {
            update();
            updates++;
            delta--;
        }
        render();
        frames++;

        if(System.currentTimeMillis() - timer > 1000) {
            timer = System.currentTimeMillis();
            Window.frame.setTitle("Rage Mage   UPS: " + updates + ", FPS: " + frames);
            updates = 0;
            frames = 0;
        }

    }

}

render()方法:

private void render() {
    statusHandler.render(g);      // statusHandler is a class that handles the current state of the game
    Graphics g2 = getGraphics();
    g2.drawImage(image, 0, 0, WIDTH * SCALE, HEIGHT * SCALE, null);
}

我认为游戏循环不是问题,因为我之前遇到了不同的循环问题,然后我改为循环,没有任何改变。

谢谢!

0 个答案:

没有答案