0

効率的なアニメーションについてはかなり無知なので、すべての助けに感謝します! Java で libgdx を使用しており、アニメーション化する必要がある 128 ピクセルの水タイルがゲームに含まれています。現在、アニメーションに 19 フレームを使用していますが、その数を 2 ~ 19 から変更し、60 fps 以上 (上限は 60) から 20 fps になりました。

私が思いつく唯一のことは、適切なテクスチャを取得するための繰り返しの呼び出しでした。これは、より多くのアニメーションを含む Java ゲームを非常に簡単に処理できるかなり強力なグラフィックス カードを使用しているためです。ここでパフォーマンスを向上させるにはどうすればよいですか?

乾杯

4

2 に答える 2

1

プロファイラーを使用して、時間が費やされている場所を見つけます。プロファイリング ツールを使用するか、コードにタイムスタンプ (私は java.lang.System.nanotime() を使用) チェックを散らかし、ヒストグラムを保持して定期的に出力したり、「外れ値」を出力したり、画面に結果を描画したりすることもできます。

あなたや私は時間がどこに費やされているかを推測できるかもしれませんが、実際に時間が費やされている場所を見つけるのに役立つツールがあると、はるかに生産的です.

于 2012-11-25T15:48:48.023 に答える
0

プロファイラーを使用するという答えは良いアドバイスです。ただし、テクスチャをまだパックしていない場合は、パックすることをお勧めします。これにより、使用中のテクスチャの数が減り、(比較的高価な) テクスチャ スイッチの数が減ります。正方形のテクスチャがある場合は、それらを並べて表示できます。

これにより、テクスチャをどれだけ大きくできるかという問題が残ります。これはデバイスによって異なり、ここでは Android デバイスについて説明します。

比較的少数のテクスチャを 1 つのテクスチャにパックしても、テクスチャ スイッチの数は減ります。たとえば、1024px x 1024px のテクスチャ サイズ制限では、64 個の 128x128 テクスチャをパックできます。これにより、テクスチャ スイッチを必要とせずに、19 個のテクスチャの要件に対応できます。同様に、テクスチャ サイズの制限が 512px x 512px の場合、16 個の 128x128 テクスチャをパックできるため、必要なテクスチャ スイッチは 1 つだけです。

于 2012-11-26T13:32:56.900 に答える