Blackmagic 하드웨어와 decklink SDK를 사용하여 C# 프레임 그래버를 개발했습니다. 내 메인 프로그램은 MTA 스레드 모드에서 실행됩니다.프레임 그래버를 사용한 멀티 스레딩 성능 문제 (Decklink SDK 사용)
각 새 프레임에는 VideoInputFrameArrived()
이라는 함수가있는 콜백이 있습니다. 그것은 잘 작동하고
t1 = Task.Factory.StartNew(() => tempmatch.PictureAnalysis(x1));
t2 = Task.Factory.StartNew(() => tempmatch.PictureAnalysis(x2));
t3 = Task.Factory.StartNew(() => tempmatch.PictureAnalysis(x3));
t4 = Task.Factory.StartNew(() => tempmatch.PictureAnalysis(x4));
Task.WaitAll(t1, t2, t3, t4);
,하지만 50 %의 CPU 사용률보다 높은 갈 수 없습니다 :이처럼,이 기능의 일부 멀티 스레딩 작업을 호출 해요 내 CPU의 4 개 코어는 각각 50 %로 실행됩니다. 나는 무슨 일이 일어나고 있는지 이해하기 위해 많은 시간을 보냈지 만 갈 방법을 찾지 못했습니다.
더 이상의 정보가 없으면 우리가 당신을 도울 수 없다고 생각합니다. – svick