在java中快速加载部分图像

时间:2012-07-27 15:01:57

标签: java image memory tile

我目前在地图编辑器中工作,用于基于2D的平铺游戏。当我创建一个新地图时,tileset被加载到内存中并显示在JScrollPane内部的JPanel中,因此我可以选择我想要绘制的tile。

起初,我只是绘制完整的图像,但这使得滚动速度很慢,所以现在我只绘制它的可见部分,并且工作得很好。我担心的是内存使用情况,因为tileset非常大。我没有得到任何OutOfMemory错误,但我想优化我能做的一切。

我尝试将ImageReader与ImageReadParam.setSourceRegion()一起使用;并且使用的内存要少得多,但滚动变慢,滚动时图像会像疯了一样闪烁 - 可能是因为从磁盘上读取图像需要一些时间。

那么,有没有一种很好的方法可以在不完全加载的情况下快速加载大图像的某些部分?或者也许是以压缩的方式完全加载它的方法?

0 个答案:

没有答案