2010-06-12 7 views
1

Application.Idle 이벤트를 사용하여 툴바 상태 (사용/사용 안 함)를 매우 광범위하게 처리합니다. Norton AntiVirus 2011을 베타 테스트 중이므로 개발중인 응용 프로그램이 적어도 하나의 CPU에서 높은 CPU 사용량 경고를 발생 시켰습니다. 물론, 나는 작업 관리자를 열었고 4 개의 CPU (쿼드 코어 시스템) 중 하나가 거의 100 %로 이동하는 것을 지켜 봤습니다.Application.Idle은 CPU 사용량이 높습니다.

응용 프로그램이 CPU 작업을 수행하지 않을 때 Application.Idle이 처리 할 수있는 방법이라고 생각했습니다. 왜 Application.Idle은 CPU를 급증 시키는가?

AddHandler에 Application.Idle, AddressOf를 OnAppIdle

오랫동안 Application.Idle을 사용하고, 그것은이 문제를 것 알지도 못하는 : 여기

내가 이벤트에 연결하는 방법입니다.

사용 VS 2010 .NET 4

감사합니다.

답변

1

여러분이 Application.Idle을 사용하여 툴바 상태를 처리한다고 가정 할 때 Idle 이벤트 처리기에서 실행중인 코드가 Windows 메시지를 생성하고 있다고 판단 할 수 있습니다. 어느 것이 처리되고 처리가 끝나면 Application.Idle이 다시 호출됩니다.

유휴 처리기에서 생성하는 메시지 수를 줄이려면 도구 모음 상태를 수정하거나, 또는 실제로 필요하다면 무엇을 하든지간에.

Idle 이벤트 처리기에서 코드를 게시하면 도움이 될 수 있습니다.

관련 문제