java - 渲染切片的更有效方法

时间:2017-11-12 14:16:44

标签: java

我已经搜索过类似的这样的帖子但是找不到。 我想知道是否有更有效的渲染图块的方法,它只使用1个图像并在网格中绘制相同的图像以覆盖区域。

我使用以下代码:

public void render(Graphics g) {
    for(int r = 0; r <= tilePieces.length; r++) {
        for(int c = 0; c <= tilePieces[0].length; c++) {
            try {
                tilePieces[r][c].render(g);
            }
            catch(Exception e) {

            }
        }
    }
}

当我创建一个图块时,我还会创建它需要的多个图块(正方形)并将它们存储在一个数组中。 每次调用对象的render()方法时,它都会循环遍历数组并调用其绘制图像的render()方法。 游戏中没有任何延迟,但我发现这样做效率低,因为我必须为一个磁贴创建一堆对象并调用它们的渲染方法。 这就是为什么,我尝试在上面的方法中绘制相同的一个图像,而不是调用每个tile片段的render()方法,这导致游戏每5秒运行1帧。这很奇怪,调用绘制图像的方法和直接在循环中绘制图像有什么区别?

0 个答案:

没有答案