【问题标题】:How do prevent my FPS dropping when loading spritesheet in java?在 java 中加载 spritesheet 时如何防止我的 FPS 下降?
【发布时间】:2014-12-14 01:31:34
【问题描述】:

大家好,我从事 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);
        }
    }

【问题讨论】:

  • 我不会认为 250 FPS 滞后...您可能需要更改游戏迭代以不依赖固定的迭代时间。
  • 别忘了贴一些代码:P

标签: java frame-rate


【解决方案1】:

通常在开发游戏时,您 cache 所有您的 sprites(或几乎)所以您只在开始时加载一次。

在我做游戏开发的时候,我使用缓存编辑器(创建自己的很容易,但如果你想节省时间,网上可能有很多)然后你将每个精灵存储在一个文件作为字节(序列化对象)。然后这个文件被缓存编辑器压缩,每个玩家都会下载一次并存储在电脑的某个地方(他们不知道它已经完成了,它是由游戏处理的)。

然后,当玩家必须加载新的精灵时,它已经缓存在计算机上并且速度非常快。

【讨论】:

    猜你喜欢
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 2015-12-08
    • 2015-05-03
    • 1970-01-01
    • 2017-07-29
    相关资源
    最近更新 更多