Я пытаюсь внедрить систему освещения на основе плитки в свою игру, сохраняя при этом оптимальную производительность. В настоящее время без освещения у меня около 700-800 кадров в секунду. Когда я делаю освещение, fps падает примерно до 300-400.Проблемы с производительностью освещения на основе Java Tile
оказывает огни, используя g.fillRect() с цветом Color (0,0,0, alphaValue)
Код:
for (int y = startY; y<endY; y++) {
for (int x = startX; x<endX;x++) {
g.setColor(new Color(0, 0, 0, 255/lightData[y][x]));
g.fillRect((x*Tile.width)-Camera.x, (y*Tile.height)-Camera.y,
Tile.width, Tile.height);
}
}
LightData [у] [х] является значение от 1 до 8.
Мне интересно, есть ли еще один способ более эффективного освещения. Любая помощь будет принята с благодарностью.
В среднем большинство мониторов не смогут идти в ногу с частотой 300 кадров в секунду, некоторые хрипы между 25-60, как правило, будут более чем достаточно. – MadProgrammer