gpt4 book ai didi

java - 为什么我的 java 图形滞后这么多?

转载 作者:太空宇宙 更新时间:2023-11-04 03:47:57 25 4
gpt4 key购买 nike

我知道已经有很多关于慢速java图形的问题,但没有一个能解决我的问题。我的程序中的滞后似乎非常不自然,据我所知没有任何解释。

我正在创建一个 2D 游戏,它有严重的延迟。起初我以为这是游戏中绘制的所有图形造成的,所以我做了很多事情来尝试提高性能,但没有任何改变。

为了确保是游戏造成了延迟,我制作了一个非常简单(写得很糟糕)的程序,它只是在屏幕上移动一个方 block 。

 import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;


public class Main extends JPanel{

static Main main = new Main();

int x;
int y;

public static void main(String[]args){
JFrame frame = new JFrame("Test");
frame.setSize(1920, 1080);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(main);
frame.setVisible(true);

while(true){
main.update();
main.repaint();

try {
Thread.sleep(1000 / 60);
} catch (InterruptedException e) {
e.printStackTrace();
}

}

}

public void update(){
x++;
y++;
}

public void paint(Graphics g){
super.paint(g);
g.fillRect(x, y, 100, 100);
}

}

令我惊讶的是,这个简单的程序也严重滞后!我一直在 Linux (ubuntu GNOME 14.10) 上编写游戏代码,但我也在 Windows 7 分区上运行它,并且它不会改变性能。我还更新了所有图形驱动程序。我的电脑还可以运行其他 Java 程序,例如 Minecraft,没有任何延迟。我什至尝试将本教程的项目文件导入 eclipse 并运行它,它运行良好:https://www.youtube.com/watch?v=ar0hTsb9sxM

为什么会发生这种情况?我该如何解决?

最佳答案

我将 Toolkit.getDefaultToolkit().sync(); 放入我的渲染方法中,这似乎可以修复它。但是,您应该在此之前添加 If os is linux

关于java - 为什么我的 java 图形滞后这么多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27370630/

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