嘿伙计们,我一直在进行java游戏编程,最近我遇到了一个问题。当我在java中加载一个相对较小的精灵表时,我的FPS从500变为250并使我的游戏非常滞后。如果有人知道如何让Java游戏变得更加迟钝并获得更好的FPS,那就太棒了!
BufferedImage spriteSheet = ImageIO.read(new File(spriteSheetLocation));
sprites = new BufferedImage[rows * columns];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
sprites[(i * columns) + j] = spriteSheet.getSubimage(i * width,
j * height, width, height);
}
}
答案 0 :(得分:0)
通常在开发游戏时,您cache
所有sprites
(或差不多),所以您只需在开始时加载一次。
回到我正在进行游戏开发的日子里,我正在使用缓存编辑器(很容易创建自己的编辑器,但如果你想节省时间,网上可能有很多)然后你将每个精灵存储在一个文件作为字节(序列化对象)。然后这个文件被缓存编辑器压缩,每个玩家都会下载一次并存储在计算机上的某个地方(他们不知道它已经完成,它由游戏处理)。
然后,当玩家必须加载一个新的精灵时,它已经被缓存在计算机上并且速度非常快。