2009-04-15 11 views
1

스트림에있는 각 이미지를 복사한다고 가정하면 (어떤 뮤텍스 보호 기능을 사용하더라도 해당 데이터에 액세스 할 수 없으므로 어쨌든 복사해야합니다.) 어떤 방법이 더 좋습니까/단점입니까?두 가지 프로세스, 즉 로컬 TCP/IP 연결 또는 프로세스 간 통신간에 이미지 스트림을 보내는 것이 더 좋은 방법은 무엇입니까?

나는 동일한 프로세스에서 이미지를 사용하는 것과 비교하여 얼마나 많은 성능 손실이 암시하는지 알고 싶습니다. shared memory 통해

감사

이미지의 경우

답변

2

, IPC는 최선의 선택이 될 것입니다.

1

적어도 Windows의 방화벽은 로컬 TCP/IP 연결을 방해 할 수 있습니다. 따라서 공유 메모리를 선호합니다.

1

성능면에서는 공유 메모리를 통한 IPC가 가장 좋은 옵션이지만 IMHO, 소켓이 조금 더 많은 처리량을 소비한다고해도 소프트웨어의 진화라는 측면에서 더 나은 결과를 제공합니다. 나는 (에서 확인할 수 : http://tmhare.mvps.org/downloads/vcam.zip) DirectShow를 캡처 장치의 VCAM 예 걸릴 것

+0

Evolutivity ftw! – unwind

+0

ftw는 무엇입니까? (나는 F * ck The Word를 상상할 수 있지만, 영어가 아닌 ...) – alvatar

+0

(하하, ftw = "승리") – poundifdef

1

구글 "파일을 매핑 된 메모리"이 드라이버는 O/S와 같은 비디오 캡처 장치에 나타납니다

및 대상 프로세스에서 실행됩니다. 소스는 공유 메모리 버퍼를 사용하여 주입 할 프레임을 제공합니다.

최소한의 공유 메모리 IPC 방식보다 복잡, 그것이 내가이 여러 가지 일을 한

비디오 파이프는 대부분의 미디어 플레이어 프로그램, 캡처 및 편집 도구에 연결할 수 있다는 점에서 엄청난 이점 등을 제공하는 동안 싱크, 믹서, 프리 프레임 효과 플러그인 등과 같은 기능을 포함하여 여러 번 사용할 수 있습니다. 함께 해킹하려면 하루 이틀이 걸릴 것입니다.

+0

나는 그것에 대해 읽었지만, IPC에 비해 메모리 매핑 된 파일의 I/O가 얼마나 잘 수행되는지 알 수 없다. – alvatar

+0

메모리 매핑 IO *는 IPC 형식입니다. – poundifdef

1

+0

이와 비슷한 멀티 플랫폼 솔루션을 알고 계십니까? 감사! – alvatar