Я создаю графическую игру в стиле roguelike, используя Java. В игре я рисую двумерный массив объектов Tile на JPanel. Эти объекты плитки представляют землю. У меня есть спрайт .bmp, который содержит все текстуры, которые я хочу использовать для рисования. Каждый раз, когда игрок движется, плитки, которые видны игроку, должны быть перерисованы.
Мой вопрос - вопрос производительности. Я реализовал это в прошлом, где у меня есть Tile, расширяющие JPanel, и каждый Tile просто отображает соответствующий сегмент листа спрайта, используя bufferedImage.getSubImage (), в то время как родительский JPanel просто вызывает paint () для всех Tiles 2-й массив. Это хорошо работало на небольших картах 30x20 в предыдущем проекте, но я не уверен, что это будет работать в текущей игре.
Должен ли я использовать тот же подход или есть другое возможное решение, которое ускорит время прорисовки? Должен ли класс Tile расширить какой-либо другой компонент Swing или AWT, такой как BufferedImage, или это не даст эффекта?
Спасибо.