【发布时间】:2014-07-06 04:36:33
【问题描述】:
我正在创建一个 2d 瓷砖游戏。在这个游戏中,不同类型的瓷砖之间的边界在程序中被绘制(角落瓷砖、边瓷砖等)。像这样的可能的瓷砖数量是有限的。然而,一旦我实现了这一点,帧速率就严重崩溃了。我发现每帧重绘 80-90 个可见图块的行为是问题所在。我试图实现一个缓存系统来缓存唯一的瓦片。除了我无法将生成的图像与图像缓存进行比较之外,该系统可以正常工作。
这是我想做的事情:
//tile object is an Image
if (cache.contains(tile)){
return cache;
} else {
cache.add(tile);
return tile;
}
问题在于两个 Slick2D Image 对象的比较。似乎image.equals() 方法只有在两个图像指针都代表同一个对象时才为真。除了逐像素比较之外,有没有办法快速查看两个不同的 Image 对象是否具有完全相同的数据?
【问题讨论】: