본문 바로가기
IT/컴퓨터 그래픽스

GPU에 data를 전달하기

by 신인용 2021. 1. 17.
반응형

 

 

 

 

 

GPU에 data를 전달하기

 

 

 

 

옛날 방식

CPU에서 RAM에 있는 data를 읽고 매 프레임마다 GPU로 전달하는 방식이었다.

그런데 이는 전달하지 않아도 될 때에도 data를 전달하게 되는 큰 낭비가 발생하게 된다.

 

 

 

 

 

 

 

현재 방식

GPU한테 data를 다 보내놓고 필요할 때마다 그리라고 신호를 주는 방식이다.

GPU는 data를 Video Memory에 저장한 상태에서, CPU에서 그리라는 신호가 오면 Video Memory에서 data를 가져와서 연산하는 방식이다.

 

 

 

그리고 GPU의 busPCIE 라는 것을 사용한다. 이는 그래픽 카드에서 주로 사용하는데 그만큼 전송할 데이터 양이 많아서 그렇다. 또 Video MemoryDDR5 를 사용한다. (현재 노트북 RAM 사양을 보면 아마 DDR4가 제일 좋을 것이다.)

즉, 컴퓨터에서 가장 빠른 메모리와 가장 빠른 버스를 사용하는 것이 GPU이다. 그만큼 GPU가 연산할 것이 많다는 것을 알아두자.

 

 

 

GPU 메모리에 공간을 할당하고, 넣어야 할 data가 많다. 이는 malloc이나 new 로 감당할 수 없을 정도로 많다. 그래서 buffer 를 사용하여 GPU 를 사용해야 한다. 결국 buffer 를 만들어놓고, buffer 에 data를 미리 보내놓고 GPU가 렌더링할 수 있는 구조로 만들어지게 되었다.

 

 

 

 

 

 

 

[참고]

Interactive Computer Graphics: A Top-Down Approach with Shader-based OpenGL 6th edition / 저자: Edward Angel, Dave Shreiner / 출판사: Pearson Education

 

반응형

'IT > 컴퓨터 그래픽스' 카테고리의 다른 글

Camera Coordinates  (0) 2021.01.17
GPU와 Buffer  (0) 2021.01.17
[ 3D Rotation ] 임의의 축으로 회전하기  (4) 2020.12.04
3D Geometric Transformation  (0) 2020.12.04
Homogeneous Coordinate  (0) 2020.12.04

댓글