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

 게임을 구입할 때 대부분 DVD나 CD-ROM 같은 디스크 형태로 구입합니다. 이 디스크에는 많은 데이터를 보관할 수 있지만 읽는 속도가 느리다는 단점이 있습니다. 이러한 단점을 보완하기 위해 메모리를 만들어 데이터를 읽는 속도를 향상시키고 있습니다.
 게임을 실행하다보면 로딩 화면이 뜰 때가 많습니다. 이 동안 메모리에서는 이전에 있던 장면의 내용을 폐기하고 불러올 장면의 데이터를 꺼내 저장합니다.

1. 메모리의 단위
 메모리는 데이터를 저장하는 데 사용되며, 크기에 제한이 있습니다. 단위는 '바이트(Byte)'이며 1바이트로는 256가지를 표현할 수 있습니다. 하지만 게임에서는 256가지보다 더 많은 수를 필요로 할 때가 있기 때문에 2바이트, 4바이트를 이용해서 수를 표현하기도 합니다.

 1바이트는 또 8비트(bit)로 나눌 수 있습니다. 비트는 바이트를 더 세세하게 나눈 단위를 말합니다. 1비트는 0, 1 총 2가지를 표현할 수 있습니다. 그래서 1바이트가 2의 8제곱인 256가지를 표현할 수 있는 것입니다. CPU는 비트보다 바이트를 판단하는 데 더 뛰어나며 바이트로 처리하는 것이 더 빠릅니다. 그러나 게임 저장 데이터 등의 정보량을 압축해 크기를 줄이고 싶은 경우에는 비트를 사용하기도 합니다.

2. 메모리의 단위
 길이를 표현하는 단위는 '미터(m)'이지만 꼭 미터만 쓰는 것은 아닙니다. 1000미터는 1킬로미터(km)로 표현할 수 있듯이 메모리 단위 바이트 또한 여러 가지 단위로 표현할 수 있습니다.

1KB(킬로바이트) = 1,024Byte
1MB(메가바이트) = 1,024KB
1GB(기가바이트) = 1,024MB
1TB(테라바이트) = 1,024GB

 컴퓨터는 2로 표현할 수 있는 수를 잘 처리합니다. 1,000은 2 * 2 * 2 * 5 * 5 * 5에서 5가 들어있기 때문에 컴퓨터가 처리하기 힘들지만, 1,024는 2의 10제곱으로 컴퓨터가 처리하기 쉽습니다.

3. 어드레스(주소)
 메모리에도 주소가 존재합니다. 메모리에도 다양한 장소가 있고 각각의 정보가 다르기 때문에 이것들을 처리할 수 있는 제도가 필요한데, 그것이 바로 주소입니다.

4. 게임에서의 메모리 사용법
 게임에서는 메모리가 게임 제작자에게 대부분 일임됩니다. 다시 말해서, 하드웨어에서 미리 확보할 분량과 게임 프로그램 자체가 차지하는 분량을 제외하면 모두 이용할 수 있다는 것입니다.

 게임을 구성하는 모든 것들을 전부 메모리 안에 넣게 된다면 퀄리티가 떨어지거나 메모리가 부족해서 구현할 수 없는 경우도 생길 것입니다. 그래서 일반적으로는 화면 각각을 메모리에 저장한 후 화면이 바뀔 때 기존 데이터를 폐기하고 다음 화면의 데이터를 메모리에 넣습니다. 게임을 하다보면 'NOW LOADING'이라는 화면을 볼 수 있는데 이 과정이 이 시간에 이루어집니다.

5. 상주와 비상주
 화면을 바꿀 때마다 데이터를 바꾸지만 어떤 데이터는 바꾸지 않고 계속 사용하는 게 더 빠르고 효율적일 수 있습니다. 이럴 때 메모리 상에 계속 존재하도록 지속하는 상태를 상주라고 합니다.

 예를 들어 RPG에는 필드 이동 화면, 전투 화면, 메뉴 화면 등이 있는데, 공통적으로 문자, 즉 폰트가 출력됩니다. 폰트 데이터를 전환될 때마다 바꾸면 불러오는 시간이 길어지기 때문에 폰트 데이터는 상주시킵니다.

댓글