0

人々は私が狂っていると言いました、人々は私が狂っていると言いました。彼らは私に slick2d または lwjgl を使用するように言いましたが、私は自分のゲームを Swing で作成することにしたので、私の質問に答えないライブラリを使用するように言わないでください。

私のゲームのスクリーンショット 私のゲームの画面

私はスイングでゲームを作っています。それは何かになり始めています:)ここで見ることができます。パフォーマンスは良いのですが、swing で可能な限り最高のパフォーマンスを得たいので、swing でゲームを作成するためのパフォーマンスのヒントを教えてください。

誰かが私のコードを批判してくれる親切な人がいたら (私は 15 歳なので教師も何もいないので、私ががらくたを書いているかどうか知りたいのですが)、ここからソースをダウンロードできます。

ありがとうございました

PS: slick2d が opengl を使用していることは知っていますが、そのスイングはゲーム用に作成されたものではないので、私を変換しようとしないでください。次のプロジェクトではライブラリを使用します。心配しないでください ;)

4

1 に答える 1

2

簡単に思いつくのは、BufferedImage の代わりに VolatileImage を使用する方がよいということです。BufferedImage はハードウェア アクセラレーション操作を提供しませんが、VolatileImage は提供できます。

しかし、これを調査する必要があります。

参照: Java : VolatileImage は BufferedImage より遅い

または、「BufferedImage vs VolatileImage」をグーグルで検索します

さらに、デバイスと互換性のある画像を操作するために、 likeGraphicsDeviceを読むことをお勧めします。GraphicsConfiguartion

もう 1 つのヒント: ゲームで cos、sin、sqrt などの時間のかかる数学演算を頻繁に使用している場合は、ゲームのロード時にこの演算の結果をキャッシュすることができます。キャッシュ手段 - 数学演算の結果を配列やマップなどのデータ構造に保存します。ゲームがこれらの演算を実行する必要がある場合、ゲームは再度実行することなく演算の値を検索できます。

于 2013-10-13T07:20:34.373 に答える