Java - 多次使用加载的图像

时间:2018-04-21 19:40:08

标签: java lag

我试图将一堆图像加载到一个程序中并每秒重复60次。我的问题是我的CPU使用率超过20%且程序甚至没有完成。

这是加载图像的循环:

    for(int i = 0;i < LevelCompiler.Objectlenght;i++) {
        LevelCompiler.objects[i].drawObjects(g);
    }

这是drawObjects方法:

g.drawRect(x, y, width, height);
    g.drawImage(TextureSystem.textureSystem(TextureID), x, y, width, height, null);

加载imgae的textureSystem方法:

    import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;

public class TextureSystem {
static String TexturePath;
static BufferedImage img;

public static BufferedImage textureSystem(int tid) {
    TexturePath = "/textures/Objects/SObject+" + tid + ".jpg";
    try {
        img = ImageIO.read(ResourceLoader.load((TexturePath)));
    } catch (IOException e) {
        e.printStackTrace();
    }
    return img;

}
}

这是上面的ResourceLoader

import java.io.InputStream;

public final class ResourceLoader {

 public static InputStream load(String path) {
    InputStream input = ResourceLoader.class.getResourceAsStream(path);
    if (input == null) {
        System.out.println("error");
    }
    return input;
}

}

我认为高CPU使用率是因为我一次又一次地加载图像。任何建议如何使用另一种方法?

0 个答案:

没有答案