웹캠에서 영상을 가져올때 질문있습니다.

genlux의 이미지

안녕하세요.

다름이 아니라,

지금 리눅스에서 웹캠을 이용하여 캡처된 영상을 받고 있는데

2가지 방법이 있더군요... 하나는 read(device_fd, buf_size, size_t)으로 받는 방법과

mmap(NULL, size, PROT_READ, MAP_SHARED, device_fd, 0)

이렇게 있더군요... 지금은 처음것으로 하고 있는데

두번째꺼하고 차이가 정확히 무엇인가요?

poplinux의 이미지

속도로 따지면 두번째꺼 쓰는게 빠릅니다.

read() 는 시스템 콜이어서 호출할 때마다 컨텍스트 스위칭이 발생하므로 속도가 느립니다.

mmap() 은 바로 접근이 가능하므로 속도가 빠르지요.

========================
조직 : E.L.D(Embedded Linux Developer/Designer)
블로그 : poplinux@tistory.com
카페 : cafe.naver.com/poplinux

임베디드 리눅스 관련 프리렌서 지향