在用Java开发的游戏中渲染的问题

时间:2015-01-02 23:34:58

标签: java game-physics

新年快乐!

我正在研究用Java开发的游戏,并且在我的Render方法中出现了一个问题。

当我使用如下简单代码调用render方法时:

public void render() {
    Graphics2D g = (Graphics2D) bufferStrategy.getDrawGraphics();
    g.setColor(Color.black);
    g.fillRect(0, 0, mainWindow.getWidth(), mainWindow.getHeight());
    onRender(g);
    g.dispose();
    bufferStrategy.show();
}

并将一个简单的cicle渲染成红色

但我的netbeans和我的电脑变得非常非常慢。

当我在Debian终端输入top时,我可以看到我的cpu使用在" Java"申请量增加了100%。

我不知道为什么。有人能告诉我我做错了什么吗?

1 个答案:

答案 0 :(得分:1)

在渲染/更新周期之间添加一个小延迟,以便给出cpu时间来处理你尝试做的事情,使用像Thread.sleep(40)(25fps)那样的假设...假设有' sa在某处更新循环...

另请参阅BufferStrategy JavaDocs,它有一个如何使用它的简单示例(不包括小延迟)