2011-08-05 11 views
3

私は、アニメーションの各ステップでフレームを動的に生成してアニメーションを作成しようとしています。今ではピクセル単位で描画するアルゴリズムを実行する必要があるため、新しいフレームと、そのラスタデータを介してアクセスするBufferedImageを使用しています。 しかし、時間の90%は、イメージをJFrameのコンテンツに転送するために使用するjava.awt.graphcis.drawImage()の内部で費やされます。java.awt.graphicsオブジェクトに効率的に描画する

グラフィックオブジェクト内でピクセル単位で描画する方が効率的ですか?

+0

あなたはjava.awt.graphics2D.drawImage(bufferedImage、null、0、0)を試しましたか?私はそれが他の描画方法よりも効率的かどうかは考えていませんが、おそらくそうではありません。 – toto2

答えて

1

VolatileImageをご利用ください。それよりもはるかに高速です。

+2

おかげさまで、VolatileImageの使い方が分かりません。私はBufferedImageを使い続け、VolatileImageからGraphicsオブジェクトに描画するか、bufferedImageを破棄してvolatile画像に直接描画する必要がありますか? gc.drawLine()またはgc.fillRect()を使用してピクセル単位でピクセルを描画すると、bufferedImageの配列を塗りつぶすよりも計算的に高価に思えるので、私はそれを尋ねます。 – Jack

関連する問題