で画像を表示していSwing
ます。画像の上に描画し(一連のdrawRect()
呼び出し)、画面を更新しています。イメージは一定ですが、上に描画されるオブジェクトは一定ではありません。いつでも画像を再描画しないようにする方法はありますか? drawRect()
グラフィックス カードが画像を表示する可能性が高いため、呼び出しがボトルネックであると想定しても安全ですか? 私は 1 フレームあたり 20,000 もの呼び出しを描画します (ただし、通常は 3000 を超えません)。
編集:実際に速度が低下しているのは rect 呼び出しであり、透明度チャネルを削除することでかなり高速化できます。そうは言っても、それをスピードアップして透明性を含めることはまだ良いでしょう. コードはこれ以上単純になることはないので、別の方法で解決できることを願っています。
public void paintComponent(Graphics g) {
super.paintComponent(g) ;
//grid or walkers
g.drawImage(image, 0, 0, null);
for(Walker w : walkArray){
g.setColor(new Color(255,255-w.data[3], 0, w.data[2]));
g.drawRect(w.data[0], w.data[1], 1, 1);
}
}