2

WinForms/Windows アプリケーションの応答性の指標はありますか?

メッセージループがブロックされている時間の割合のようなものですか?

どのように入手できますか?

4

2 に答える 2

1

ウィンドウ プロシージャに直接メッセージを配信する多数の SendMessage() 呼び出しは、Windows または別のプロセスにあります。それらの時間を計ることはできません。間接的な測定は SetTimer() であり、WM_TIMER メッセージが配信されるまでの時間を測定します。

于 2010-11-03T13:04:04.040 に答える
0

タイマー イベントを 1 秒あたり 10 回実行するように設定し、イベントが発生するたびに前回からの経過時間をチェックし、この時間が 250ms、500ms、750ms などを超える頻度を最大「10秒以上」?ユーザーの観点からは、メッセージ ループが 10 ミリ秒を超えてブロックされていなければ、90% の確率でブロックされていても問題ありません。一方、メッセージ ループが 5 分に 1 回、一度に 15 秒間ブロックされると、ループが全体の 5% の時間しかブロックされないにもかかわらず、多くのユーザーはそれをまったく受け入れられないと見なします。

于 2011-01-06T17:47:04.833 に答える