数日以来、slick for Java を使用していますが、深刻な問題が発生しました。800x600 のソリューションで完全に空のアプリケーション (fps のみを表示) を実行すると、700 から 800 の間の fps カウントが得られます。緑と白の長方形のグリッドとして 13300 エントリの配列を描画すると、fps が低下します。 70くらいまで。
配列内のエントリが増えると、非常に遅くなります。たとえば、1024x768 のソリューションと 21760 エントリの配列では、fps が 40 に低下します。
単一のエントリを描画する方法:
public void draw(Graphics graphics){
graphics.setColor(new Color(getColor().getRed(), getColor().getGreen(), getColor().getBlue(), getColor().getAlpha()));
graphics.fillRect(getPosition().x, getPosition().y, getSize().x, getSize().y);
Color_ARGB white = new Color_ARGB(Color_ARGB.ColorNames.WHITE);
graphics.setColor(new Color(white.getRed(), white.getGreen(), white.getBlue(), white.getAlpha()));
}
そして、これは私が完全な配列を描く方法です:
public void draw(Graphics graphics) {
for (int ix = 0; ix < getWidth(); ix++) {
for (int iy = 0; iy < getHeight(); iy++) {
getGameGridAt(ix, iy).draw(graphics);
}
}
}
私の意見では、21760 はそれほど多くはありません。私のコードに何か問題がありますか、それともあまりにも多くの長方形を描くのが遅すぎますか?