WinRTのバックグラウンドタスクのCPU使用量のクォータは1秒です。ロック画面にある場合は2秒です。問題は、このCPU使用量を正確に測定する方法です。私のコードがこの2秒のクォータで実行されているかどうかを知りたいですか?私は、タスクの実行の前後にDateTime.Nowを使用して推測する正しいアプローチではありません。バックグラウンドタスクについて
MSDNの記事: Supporting your app with background tasksバックグラウンドタスクでCPU使用率を正確に測定する方法は?
答えて
が、私は同じ問題を抱えていました。
Task Manager
を起動すると、App history
タブの下に、さまざまなアプリのリソース使用状況の統計が表示されます。それらの1つはCPU Time
です。問題はそれが平均ではないことですが、合計CPU使用時間のみが表示されます。
平均的な時間が必要な場合は、アプリでバックグラウンドアクティビティをカウントし、それによって時間全体を分けることで、平均的な時間が得られます。
これは私がCPU使用量を測定するために今すぐできることだと思います。ありがとうございます。 –
私はGetProcessTimes WinAPIを使用しました。
ドキュメントは、「デスクトップのみアプリ」が、技術的には、それも携帯電話に存在していると言う:
[DllImport("KERNELBASE.DLL", SetLastError = true)]
static extern IntPtr GetCurrentProcess();
// NB! Undocumented API, won't pass marketplace checks.
[DllImport("KERNELBASE.DLL", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetProcessTimes(IntPtr hProcess, out long lpCreationTime, out long lpExitTime, out long lpKernelTime, out long lpUserTime);
PC上でのKernel32.dllでKERNELBASE.DLLを交換してください。
これはマーケットプレイスの認定を通過しませんが、あなたのバックグラウンドタスクをベンチマークするのに十分なはずです。
コールGetProcessTimes開始時には、long startTime = KernelTime + UserTime
を計算します。終了したら、GetProcessTimesを呼び出し、(KernelTime + UserTime) - startTime
を計算すると、データが取得されます。測定単位はTimeSpanの場合と同様100nsのダニです。
- 1. 無限ループでCPU使用率を減らすための正確な方法
- 2. 私のプログラムによるデバイスドライバのCPU/IO使用率の測定
- 3. WMIのHTA監視CPU使用率 - 正確でない
- 4. フラッシュでCPU使用率を取得する方法は?
- 5. WordPressで高いCPU使用率をトレースする方法は?
- 6. 電子でCPU使用率を高くする方法は?
- 7. 文字列の幅を正確に測定する方法は?
- 8. カーネルスペースでのオーバーヘッドを正確に測定する方法
- 9. Maple関数の実行時間とCPU使用率を測定する
- 10. プロセス内の単一スレッドのCPU使用率を確認する方法
- 11. AndroidでのアプリのCPU使用率を確認する
- 12. トップからCPU使用率を取得する方法は?
- 13. C++プロファイリング(google cpu perf tools)は正確に何を測定しますか?
- 14. Rのランダムフォレストで正しいクラス、予測クラス、予測確率を得るには?
- 15. DelphiでスレッドのCPU使用率を追跡する方法
- 16. 特定のプロセスのCPU使用率を制御する方法は?
- 17. CPU使用率を100%に
- 18. は、高いCPU使用率再現する方法
- 19. デスクトップクライアント/サーバーアプリケーションで正確なパフォーマンス測定を得る方法
- 20. CPU使用率スパイク
- 21. CPU使用率を最大にする
- 22. トップバッチモードでのCPU使用率
- 23. JavaからOSのCPU使用率を取得する方法
- 24. LinuxプロセスのRAMとCPU使用率を記録する方法
- 25. AzureのWebサイトのCPU使用率を診断する方法
- 26. PHPスクリプトのCPU使用率を監視する方法
- 27. azure vm throught powershellのCPU使用率を取得する方法
- 28. 最大CPU使用率を強制する方法
- 29. 正確に予測されるブランチのコスト(CPU上)
- 30. psutil:特定のプロセスのCPU使用量を測定する
また、i5がARMベースのプロセッサよりも多くのコードを実行できると推測します...私のアプリケーションが2秒以上かかることがないかどうかをテストするには最も遅いプロセッサが必要でしょうか? – GameScripting
良いことに、そうだとすれば、ローエンドのARMタブレットでのバックグラウンド作業のために、Core-i7のクローズドデスクトップよりも計算能力がはるかに低くなっています。 –
Webワーカーはバックグラウンドタスクと同じですか?イメージを取得してキャッシュしたいのですが、2秒間は処理時間が足りないように見えます(特に、作画して保存したいからです)。 – kamranicus