-1
當我生成一個龐大的13k +瓷磚陣列,我想渲染到它崩潰的屏幕上的紋理,我不知道爲什麼,這是造成問題的方法生成一個非常大的對象陣列凍結程序
public ArrayList<Tile> getNewChunk(int width, int height)
{
int amountOfTilesY = height * 32;
int amountOfTilesX = width * 32;
int amountOfTiles = (amountOfTilesX + amountOfTilesY)/32;
ArrayList<Tile> tiles = new ArrayList<Tile>(amountOfTiles);
for(int i = 0; i < amountOfTilesX; i += 32)
{
for(int j = 0; j < amountOfTilesY; j += 32)
{
Tile tempTile = new DirtTile(i, j, "res/tile/DirtTile.png");
tiles.add(tempTile);
}
}
return tiles;
}
因此,如果歐能幫:d 我使用的渲染遊戲引擎是LWJGL 2,使用OpenGL的 如果需要
瓷磚的質地您可能需要加載DirtTile紋理只有一次,重複使用它,因爲此刻它看起來像您爲每個圖塊分別加載它。加載13,000紋理可能需要大量的性能和內存。 – javac
它在哪一行崩潰?它開始崩潰的瓦片數量是多少?瓷磚有多大,以及它們是什麼格式? – Andreas