私のWPFアプリケーションは約30分後に高いCPU使用率を使用していましたが、アプリケーションを壊してどのコードが高いCPU使用率を費やしているかを調べましたが、何も見つかりませんでした。WPFアプリケーションのCPU使用量を削減する方法は?
のVisual Studio 2008には、現在実行中のコードを表示することはできませんが、私は「コール・スタック」パネルでこれを見つけた:
[In a sleep, wait, or join] mscorlib.dll!System.Threading.WaitHandle.WaitAny(System.Threading.WaitHandle[] waitHandles, int millisecondsTimeout, bool exitContext) + 0x8f bytes System.dll!System.Net.TimerThread.ThreadProc() + 0x2f9 bytes mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state) + 0x66 bytes mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x6f bytes mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() + 0x44 bytes
これは何ですか? CPU使用率が高いと何が問題になりますか? とCPU使用量を減らす方法は?
私は、WPFのツールは、高いCPU使用率を取るどのイベントまたは要素を発見するためにパフォーマンスプロファイリングを使用し、我々が発見:ティック(TimeManager.Tick())でしたアプリのCPU使用率は約40%です。どのイベントでTimeManager.Tickが呼び出されますか?どのようにそれを減らすには? –