1

現在、Flash Player 11 や DirectX を使用せずに、3D グラフィックスに近づけることを目的として、レーシング ゲームのプロトタイプに取り組んでいます。このために、RotationX、RotationY、および RotationZ を使用して目的の効果を得ることにしました。建物を 3D にするために、同じオブジェクトの 4 つのインスタンスを作成し、それらを適切に回転/インデックス付けしました。

これはうまく機能しますが、ステージ上にこれらの回転オブジェクトが多数存在するようになるまでは、問題はパフォーマンスから始まります。つまり、ありません。

例はここにあります: http://www.hosted101.net/car/Racing3D.html

トラックをたどると、ステージ上にいる人が増えるほど、パフォーマンスが次第に悪くなることがわかります。

これを修正するために私が取った段階は次のとおりです。

1)Zソートを無効にする-これによりパフォーマンスが向上しませんでした(驚いたことに)

2) オブジェクトの RotationZ を無効にしてカメラを追跡する - 繰り返しますが、パフォーマンスは向上しません

3) ベクトル グラフィックスをビットマップ グラフィックスに交換 - 残念ながら、パフォーマンスは向上しません。

これらの劇的なパフォーマンス ヒットの原因は正確には何ですか?

ステージ上に 3D 回転するオブジェクトがこれだけあるというだけでしょうか。

大量の FPS 損失の例

4

2 に答える 2

1

ここで私自身の質問に答えるために、誰かが同じような漬物に陥った場合に備えて:

この問題は、ゲームのFPSに関連して発生しました。(元々)120に設定すると、ローエンドのマシンを一致させることができませんでした。そのような異なる結果が見られていたためです。60に落とされたとき、それはまだ高すぎたので、複数の回転したオブジェクトがステージ上にあるとき、FPSは低すぎて、途切れ途切れの効果を与えました。

FPSの最大値を24に設定し、最大速度/回転数を2倍にすると、ゲームは正常に動作するようになります。

道徳:低スペックのマシンを目指す場合は、FPSが低い方が良いです。

于 2012-08-16T14:19:52.390 に答える
0

あなたが投稿したリンクは、一定の60FPSで実行されました。

これらの変更のいずれも役に立たなかった場合、パフォーマンスのボトルネックは別の場所にある可能性があります。TheMinerなどを使用してプロファイリングしてみてください。

また、wmodeを「direct」または「gpu」に設定してみることもできます。「window」を使用していることに気づきました。

これらの建物や樹木ではマウスイベントは必要ないため、これらすべてのスプライトでmouseEnabledmouseChildrenをfalseに設定してください。

これらは私の頭に浮かぶものであり、それが役立つことを願っています。

于 2012-08-16T13:18:36.927 に答える