【发布时间】:2012-03-30 11:19:43
【问题描述】:
另一个快速的问题,如果有人愿意的话。我有这个代码:
for(int cy = 0; cy < 3; cy++) {
for(int cx = 0; cx < 3; cx++) {
for(int y = 0; y < 16; y++) {
for(int x = 0; x < 16; x++) {
g2D.drawImage(Tiles.tileImages.get(C0.chunk[x][y][cx][cy]),
C0.cX[cx][cy] * cspcr + (blckspcr * x) + width - pXspcr,
C0.cY[cx][cy] * cspcr + (blckspcr * y) + height - pYspcr + (int)(24.25 * zoom),
blckspcr, blckspcr, null);
if(C0.chunk[x][y][cx][cy].equals("a05")) {
g2D.drawImage(Tiles.treetop,
C0.cX[cx][cy] * cspcr + (blckspcr * x) + width - pXspcr,
C0.cY[cx][cy] * cspcr + (blckspcr * y) + height - pYspcr + (int)(24.25 * zoom) - blckspcr,
blckspcr, blckspcr, null);
}
}
}
}
}
但我的问题是,它在我的应用程序中造成了难以置信的大量延迟。有什么办法可以避免使用我拥有的大量循环或可能加快它的速度?它首先绘制的图像是从 4D 字符串数组中的块中获取块,并根据字符串从哈希图中获取图像,然后使用一堆数字绘制图像。如果有人可以提供帮助,我将不胜感激。谢谢!
【问题讨论】:
标签: java performance 2d render paintcomponent