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

Problems with render in a game developing in Java

新年快乐!

我在 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();
}

然后渲染一个用红色绘制的简单圆环

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

当我在 Debian 终端中键入 top 时,我可以看到我在 "Java" 应用程序中的 cpu 使用率增加了 100%。

而且我不知道为什么。有人可以告诉我我做错了什么吗?

在 render/update 周期之间添加一个小的延迟,让 cpu 有时间处理你正在尝试做的事情,使用 sometng go like Thread.sleep(40) (25fps)..假设某处有一个更新循环...

另请参阅 BufferStrategy JavaDocs,其中有一个简单示例说明您应该如何使用它(不包括小延迟)