WinForms/Windows アプリケーションの応答性の指標はありますか?
メッセージループがブロックされている時間の割合のようなものですか?
どのように入手できますか?
WinForms/Windows アプリケーションの応答性の指標はありますか?
メッセージループがブロックされている時間の割合のようなものですか?
どのように入手できますか?
ウィンドウ プロシージャに直接メッセージを配信する多数の SendMessage() 呼び出しは、Windows または別のプロセスにあります。それらの時間を計ることはできません。間接的な測定は SetTimer() であり、WM_TIMER メッセージが配信されるまでの時間を測定します。
タイマー イベントを 1 秒あたり 10 回実行するように設定し、イベントが発生するたびに前回からの経過時間をチェックし、この時間が 250ms、500ms、750ms などを超える頻度を最大「10秒以上」?ユーザーの観点からは、メッセージ ループが 10 ミリ秒を超えてブロックされていなければ、90% の確率でブロックされていても問題ありません。一方、メッセージ ループが 5 分に 1 回、一度に 15 秒間ブロックされると、ループが全体の 5% の時間しかブロックされないにもかかわらず、多くのユーザーはそれをまったく受け入れられないと見なします。