ウィンドウが最小化されている間、.NETタイマーコントロールは、より高速に実行します

StackOverflow https://stackoverflow.com/questions/2166773

質問

これは実際に私が見てきたことを顕著な違いですが、説明することはできません。これらのタイマーは、間隔が(最低利用可能)1ミリ秒に設定されているが、それが最小化されますが、より速くダニのようですか?誰も私には、この現象を説明できますか?そして可能であればは、ウィンドウが最大化されている間効果を再現する方法を説明します?

役に立ちましたか?

解決

これはForms.Timerですか?

私はタイマー発射イベントは、よりタイムリーに処理されている可能性が高く、より速く実行されている疑い。最小化しながら、おそらくタイマーメッセージを処理するために、より大きなタイムスライスを説明することができるフォームウィンドウのメッセージポンプによって処理以下のメッセージがあるでしょう。最小タイマ分解能のisueもあります。

該当する場合には、そのようSystem.Timers

のように、他のタイマーの種類のいずれかを使用してみてください
  

Windowsは、タイマーコンポーネントでフォーム   シングルスレッド、およびこれらに限定されています   55ミリ秒の精度。もし、あんたが   とマルチスレッドタイマーを必要とします   より高い精度、Timerクラスを使用します   System.Timers名前空間のます。

参考に。

他のヒント

私の記憶が正しければ、

は、あなたが(私はあなたがここで使用しているものであると仮定)System.Windows.Forms.Timerから抜け出すことができます。の最小の分解能は55ミリ秒です。 1ミリ秒に設定すると、基本的にそれが継続的にダニを意味します。

もちろん、そのティックを保証するものではありませんタイマーは、指定された正確間隔で到着します。あなたのアプリが(画面を再描画のような)他のことをやってビジー状態である場合、それはより多くの数ms、またはかなり多くの重い負荷の下がかかる場合があります。タイマーは1秒の間隔に設定されている場合、あなたは本当にこれに気づかないだろうが、最低限の窓(55ミリ秒)で、あなたは可能性があります。

は、アプリケーションが最小化されると、彼らの火の前にタイマーイベントを中断することができ、より少ない他のイベントがあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top