0

私は Java でゲームを作成しており、VolatileImageが提供する高速化を楽しんでいます。このビデオで説明されているモーション ブラーの模倣のように、オブジェクトが離れた後に元の位置にとどまり、フェードするエフェクトをゲームに含めたいと考えています。そのビデオに含まれる方法には、画面のクリア (フレームごとに発生する) を不透明から部分的に透明に変更することが含まれます。この方法は、メモリの内容がいつでも失われる可能性があるため、VolatileImages では機能しないことを除けば完璧です。

VolatileImage の使用。getSnapshot()はこの問題を解決します。画像の内容が失われた場合に備えて、フレーム間で画像の内容を保存できるからです。ただし、これはフレームごとに新しい画像が作成されることを意味し、1920x1080 の解像度を想定すると、フレームごとに約 8 MB のメモリが割り当てられます。事前に割り当てられたメモリにスナップショットを書き込むか、他の方法でこの効果を達成することにより、これを回避する方法を望んでいます。助言がありますか?

4

1 に答える 1

0

次のように加速された BufferedImage を作成することで問題を解決しました。

private static BufferedImage renderImg = device.getDefaultConfiguration().
        createCompatibleImage(
                    device.getDisplayMode().getWidth(),
                    device.getDisplayMode().getHeight());
static {
    renderImg.setAccelerationPriority(1);
}
于 2013-04-24T00:48:46.037 に答える