그래픽 카드와 모니터는 어떤 장치일까요?
글쓴이: mydream / 작성시간: 일, 2016/12/04 - 6:22오후
고등학교 시절 정보처리과였던 관계로 컴퓨터 하드웨어에 대해 조금 들은 바가 있었습니다. 당시 모니터는 출력장치인 것으로 알고 있었습니다. 그런데 윈도우 프로그램을 만들다 보니 문득 모니터가 출력장치인가에 대한 의심이 들었습니다. 화면에 대한 정보를 읽어올 수도 있기 때문이죠.
BitBlt(memHdc, ~, screenHdc, ~);
여기서 memHdc는 가상의 메모리 DC이고, screenHdc는 화면 DC입니다. 위와 같이 BitBlt 함수를 쓰면 메모리 DC는 스크린에 대한 정보를 가져옵니다. 윈도우 내의 화면 정보를 말이죠. 그렇다면 화면의 정보가 프로그램으로 읽힌다는 것이고요. 그래서 스크린이 과연 출력장치로만 쓰이는 것인가에 대한 의문이 들었습니다. 입력도 되고 있으니 말이죠. 모니터는 어떤 장치인가요? 이 의문이 속시원히 풀릴 수 있을까요? 그리고 그래픽 카드도 입출력장치 아닌가요? 검색해보니 그래픽 카드도 모니터에 대한 출력장치라는 설명만 뜹니다.
Forums:
메모리 DC가 가져오는 스크린에 대한 정보는 그래픽
메모리 DC가 가져오는 스크린에 대한 정보는 그래픽 카드의 비디오 메모리를 읽어 오는 것일 것입니다. 물론 모니터의 정보도 가져올 수 있습니다. 프린터의 경우도, 잉크 잔량 같은 정보를 읽어 올 수 있습니다. 이러한 정보는 단순히 기기의 상태에 대한 정보로서 입력이라고 할 수 없고, 사용자 또는 기기가 적극적으로 입력하는 정보를 가져와야 입력 장치라고 할 수 있겠죠.
그래픽 카드가 모니터로부터 입력을 받아온다는 말씀이신데...
그렇다면 그래픽 카드는 입출력장치란 말씀이신가요? 그래픽 카드의 입출력이 모두 모니터를 대상으로 하는 것일 텐데요. 헷갈려서 다시 질문드립니다.
아, 참. 그런데요, 모니터가 뭐가 모잘라서 그래픽 카드가 입력, 출력(?)을 간섭하는 것인가요? 모니터로 직접 하면 안되는 걸까요?
주신 답변에 대해 생각을 더 해봤습니다. 모니터로 출력하기 전의 정보를 그래픽 카드의 메모리가 지니고 있고 이 정보가 모니터로 출력되고 또는 가상 DC로 얻어올 때는 모니터로부터 정보를 가져오는 것이 아니라 그래픽 카드의 메모리의 정보를 가져온다는 말씀이신가요? 그렇게 이해하면 그래픽카드와 모니터는 출력스트림에 의해 정보를 처리한다고 볼 수 있겠네요(?)
그렇죠.
그렇죠.
다만 모니터의 간단한 정보, 예를 들어 고유 해상도 같은 것은 본체로 입력되기도 합니다. 그래야 모니터를 연결했을 때 본체가 적정 해상도를 결정해서 출력할 수 있죠.
하지만, 모든 출력 기기가 이 정도 상태 정보는 본체로 넘기기 때문에 이를 입력 장치로 보기는 어렵다는 말씀입니다.
뼈가 있는 말씀에 감사드립니다.
의아했던 사항들에 대한 궁금증이 풀렸습니다. 좋은 답변 감사드립니다.
댓글 달기