2012-03-12 10 views
0

2D図面を使用して複雑なアニメーションを画面に表示したいと思います。次のアプローチは正しいか?遅い2Dアニメーション

  1. 図面を行い、タイマーを作成し、タイマーティックハンドラ

そうであれば内部のウィンドウを無効に、エンドユーザのユーザマシンが非常に遅い場合はどうなりますか?保留中のWM_PAINTメッセージのリストが長すぎるのでしょうか?それらのうちのいくつかは捨てられるでしょうか?

機械速度に基づいて '適応型FPS'アニメーションを行う最良の方法は何ですか?たぶん、アプリケーションのOnIdleイベントを処理していますか?

ありがとうございました。

+0

おそらく最も良い方法は、経過した時間を追跡し、それに応じてフレームを更新することです。 – ashes999

答えて

0

私のコメントを詳しく説明するには、時間の経過を追跡し、それに応じてフレームを更新する方法が必要です。

あなたはおそらく、おそらくあなたのタイマーから、おそらくtick(float elapsedTimeInSeconds)のように呼ばれるいくつかの機能を持っていると仮定しています。

elapsedTimeInSecondsの値が0.5で、0.1秒ごとに1フレーム表示しているとします。したがって、5つのフレームをスキップします。

何かがあなたのために働くかもしれません。 AFAIK、これは多くのゲームがこの問題をどのように処理するかです。