2011-11-08 8 views
0

今私のコードでは、私は異なった遅延を持つ6-8の異なるタイマーのようなものがあります。すべてのタイマーは、ステージに別のものを生成します。私の質問は単純なものです。もし私がすべてを産むことができる1つのタイマーをすればいいのですか?それはより最適化したのですか?それは試合の前提とは違うでしょうか?FLASH AS3 AIR 3.0 iOS:タイマー最適化?

Simplefy:8種類のタイマーと1つの巨大なタイマーは、すべての8つのタイマーがまとめて保持するすべての情報を含んでいますか?

答えて

1

一般に、ゲーム開発者は1つのタイマーで全体を実行することを好みます。これは、メインループ、ゲームループ、または更新ループとして知られています。

言われているように、多くのフラッシュゲームでは余裕があり、複数のタイマーを使用すると読みやすくすると完成したゲームを簡単に楽しむことができます。早期にコードを最適化することは、コードをまったく最適化しない場合ほど悪いことです。

ゲームがパフォーマンス上の問題なしにさまざまなデバイスで均等に実行される場合は、タイマーのリファクタリングについて心配する必要はありません。フラッシュゲームでは、タイマーがパフォーマンスの問題の原因となる可能性は低いです。レンダリングと新しいオブジェクトの作成は、そのため、実際にどの関数呼び出しが実際に問題を引き起こしているのかを知るためのパフォーマンス上の問題がある場合は、ゲームのプロファイルを作成して、原因ではない領域を最適化してください。

簡潔に言えば、ゲームでタイマーを使用することについての一方通行のルールはありません。しかし、誰がゲームを作ったかを知っている開発者の中には、コードをシンプルに保ち、それを簡単に停止して開始できるという点でできるだけ少ないものを使用しています。

+0

うわー、すばらしい答えをありがとう。さて、コードをもっとシンプルにしたいからと言って、「メインタイマー」を呼び出してみようと思います。しかし、その前に、私はタイマーのいくつかを停止し、プア・フォルマンスを最も落とすものがあるかどうかを見極めるつもりだと思う。ありがとう! :) – user1036231

+0

グラントスキナーはまた、実行時にフラッシュ関数をプロファイリングするための優れたツールをリリースしました。ゲストの代わりに測定可能な結果を​​得るにはヒーローがあります: http://gskinner.com/blog/archives/2009/04/as3_performance.html –

+0

重いデータ操作によって表示が変化する場合は、 UIcomponentをルックアップし、無効化メソッドを読み込みます。例えばsomeobject.x = asdfのように、ディスプレイからデータを切り離す。検証ではその割り当てだけを行います。 –

関連する問題