WPF/C# 데스크톱 응용 프로그램에서 작업 중입니다.CPU 사용률 증가
두 가지 방법이 있습니다 (Tasks
으로 전화 걸기). 각 작업은 CPU의 10 %를 차지하고 전체 응용 프로그램도 10 %를 차지합니다. 그래서,
나는 하나 개의 인스턴스에 모두 작업을 실행, 그것은
내 응용 프로그램의 두 인스턴스를 실행 (그래서 분명히 느려질 처리, 각 5 %) 및 CPU 사용률을 분할 각 응용 프로그램에서 하나의 작업을 실행하십시오. 괜찮아. 총 사용률은 2 가지 작업에 필요한 20 %입니다.
이제 질문은 : 어떻게 내 응용 프로그램의 한 인스턴스에 CPU 사용률의 20 %를 사용할 수 있습니까?
매우 복잡하여 응용 프로그램의 MCVE을 만들 수 있으므로 코드를 추가 할 수 없습니다.
전체 시나리오 :
그것의 얼굴 인식 응용 프로그램입니다. 30fps의 첫 번째 카메라는 10 % CPU를 사용합니다. 두 번째 카메라가 시작되면 두 fps가 모두 15fps로 낮아지고 총 응용 프로그램 사용률은 여전히 10 %입니다 (fps와 마찬가지로 작업량은 증가하지 않지만 작업 속도는 느려집니다).
응용 프로그램의 인스턴스를 2 개 실행할 때 각각 1 개의 카메라가 실행됩니다. 두 경우 모두 FPS가 30이고 CPU 사용률은 총 20 %입니다. 그것이 전체 시나리오입니다!
fps를 어떻게 제어하는지 이해하는 것이 중요합니다. 폴링이나 이벤트 발사가 있습니까? – dymanoid
새 프레임이 올 때마다 이벤트가 발생하고 이벤트 처리기에서 얼굴 감지 및 인식 방법으로 전달되고 최종 이미지는 'imagebox'에 할당됩니다. – Shaharyar
이벤트를 동 기적으로 처리합니까? 우리에게 약간의 코드를 보여주십시오. – dymanoid