기본 콘텐츠로 건너뛰기

추천 가젯

게임 이론: CPU와 GPU (2)

1. GPU   GPU 는 게임의 상황을 그림으로 나타내는 처리를 맡아서 실행합니다. 그림을 그릴 때 GPU 역시 메모리를 참조하며 진행합니다. 하지만 GPU는 프로그램을 참조하지 않고 그림을 그려야하는 방법이 기록되어 있는 설계도를 참조합니다. 이 설계도를 그리기 명령이라고 합니다.  그리기 명령에는 '폴리곤을 그린다', '그리기를 종료한다'와 같은 조건들이 연속적으로 기재되어 있습니다.  GPU는 디스플레이에 그림을 그리지 않고 메모리의 임의 장소에 공간을 확보해 그림을 그립니다. 이 메모리 공간을 프레임 버퍼라고 합니다.  GPU는 CPU와 병렬로 처리를 수행할 수 있습니다. 즉, CPU가 게임 처리를 하고 있을 때 GPU는 그림을 그릴 수 있습니다.  GPU는 프레임마다 그리기 명령을 참조합니다. 60fps라면 1초에 60장, 30fps라면 1초에 30장을 찍어냅니다. 2. 더블 버퍼  만약 그림을 그리는 버퍼가 1장 있다면 버퍼가 디스플레이에 표시될 때 GPU가 변경하게 된다면 다른 그림이 화면 아래에 반 정도 남아있을 가능성이 있습니다.  디스플레이는 수직동기 1회의 시간 동안 화면 왼쪽 위에서 오른쪽 아래를 향해 표시합니다. 그러나 한 개의 프레임은 수직동기 1회의 시간 내에 처리를 진행합니다. 때문에 수직동기 중에 버퍼가 변경된다면 화면의 표시내용이 바뀌게 됩니다.  그래서 일반적으로 2장의 버퍼, 즉 더블 버퍼 를 준비해 처리를 진행합니다. 표시 처리는 기본적으로 다음 과정을 거칩니다. 프레임 버퍼1을 표시하는 동안 GPU가 버퍼2에 그림을 표시합니다. 수직동기를 기다립니다. 프레임 버퍼2를 표시하는 동안 GPU가 버퍼1에 그림을 표시합니다. 3. GPU에 관한 처리과정  메인 루프의 시작은 제어기의 정보를 얻는 것으로 시작해야 합니다. 그러나 가장 먼저 시작되는 처리는 디스플레이에 표시되...

최근 글

게임 이론: CPU와 GPU (1)

게임 이론: 디스크와 메모리 (3)

OS: 프로세스 동기화 알고리즘 (1)

게임 이론: 메모리와 디스크 (2)

게임 이론: 메모리와 디스크 (1)

게임 이론: 게임기의 구조와 동작 방식

WinAPI: 타이머

WinAPI: 더블클릭

WinAPI: Mouse

C#: 전처리기 지시문