ランダムな位置でパーティクルを生成し、ランダムな方向と速度で移動するコードがいくつかあります。
ループを繰り返すたびに、すべてのパーティクルを移動し、jpanelでrepaintを呼び出します。
1,000個のパーティクルの場合、1秒あたり約20〜30フレームを取得しています。最終的には100,000から1,000,000のパーティクルを使用する予定です。
ペイントでは、ウィンドウのサイズが変更された場合にのみ、新しいバッファイメージを作成します。バッファリングされた画像にピクセルを描画し、drawImageを呼び出して画像を表示します。
各パーティクルは1つのピクセルであり、実際にピクセルを描画するのに時間がかかると判断しました。したがって、パーティクルの数を増やすと、フレームレートが大幅に低下します。
g.drawline(x、y、x + 1、y)、img.setRGB(x、y、color)を試し、img.getRaster()。getDataBuffer()。getData()を呼び出してピクセルの配列を取得しました、次にpixelData [y * width + x]=colorを設定します。
ピクセルを描画するこれらのさまざまな方法では、フレームレートにわずかな違いしかありません。
これが私の質問です:ピクセルを描く最も速い方法は何ですか?bufferedimageは行く方法でさえありますか?
ありがとう。