게임 이론: 디스크와 메모리 (3)
1. 디스크에서 불러오기
전편까지는 메모리에 대해서 중점적으로 알아봤다면, 이번 편은 디스크에서 불러오는 방법에 대해 살펴보려고 합니다.
디스크에서 불러오는 시간은 기본적으로 데이터 크기에 비례합니다. 그렇다고 그래픽 데이터 등의 품질을 최저로 낮춰 데이터 크기를 작게 하는 것은 주객이 전도되는 경우가 됩니다. 따라서 데이터 크기의 축소나 압축은 일단 두더라도 불러오기를 빠르게 할 수 있는 연구가 조금 더 필요합니다.
2. 탐색
판형의 디스크를 읽기 위해서는 드라이브에 있는 헤드라는 읽기 장치를 판 위에 이동시켜 필요한 크기만큼의 데이터를 불러옵니다.
전편까지는 메모리에 대해서 중점적으로 알아봤다면, 이번 편은 디스크에서 불러오는 방법에 대해 살펴보려고 합니다.
디스크에서 불러오는 시간은 기본적으로 데이터 크기에 비례합니다. 그렇다고 그래픽 데이터 등의 품질을 최저로 낮춰 데이터 크기를 작게 하는 것은 주객이 전도되는 경우가 됩니다. 따라서 데이터 크기의 축소나 압축은 일단 두더라도 불러오기를 빠르게 할 수 있는 연구가 조금 더 필요합니다.
2. 탐색
판형의 디스크를 읽기 위해서는 드라이브에 있는 헤드라는 읽기 장치를 판 위에 이동시켜 필요한 크기만큼의 데이터를 불러옵니다.
위 사진은 헤드를 목표 위치까지 이동한 것을 그림으로 나타낸 것입니다. 이러한 과정을 탐색이라고 합니다. 탐색에 걸리는 시간도 실제로 게임에서 체감하는 불러오기 시간에 포함됩니다. 그래서 탐색 시간을 줄이는 것도 중요합니다.
3. 데이터 정리 및 배치
탐색 시간을 단축시키기 위해서 몇 가지 방법이 존재합니다.
- 각 장면에 필요한 데이터를 디스크 상에 제각각 배치하지 않습니다.
- 필요한 데이터를 중복시킵니다.
최근에는 디스크의 용량이 많아지면서 모든 용량을 사용하는 것이 어렵습니다. 대용량의 장점을 살려서 일부러 데이터를 여러 곳에 배치하는 것도 효과적일 수 있습니다. 그렇게 하면 탐색 시간이 줄어들게 될 것입니다.
- 데이터를 하나의 파일로 정리합니다.
이 방법은 상당히 효과적이지면, 메모리에 데이터를 배치할 때는 메모리에 큰 공간이 필요하게 되는 단점도 있습니다.
3. 데이터 압축
데이터가 하나여도 데이터 크기가 크면 그만큼 불러오는 시간이 오래 걸릴 것입니다. 그래서 데이터를 압축해 크기를 작게 해둡니다. 크기가 작아지면 불러오는 시간이 짧아지기 때문에 압축은 상당히 효과적입니다. 또한 압축을 하면서 디스크의 용량도 효율적으로 사용할 수 있기 때문에 보다 많은 데이터를 담을 수 있습니다.
압축된 데이터는 그대로 사용할 수 없습니다. 압축해제를 통해서 써야 합니다. 먼저 압축한 데이터를 복원을 하려면 별도의 메모리 공간 확보가 필요합니다. 복원할 때에는 일시적으로 원래의 데이터 크기보다 많은 데이터를 소비하기도 합니다. 또한 복원 처리에는 시간이 소요되기 때문에 도입을 할지 말지를 생각할 때는 이런 부분을 고려해야 합니다.
4. 장면 전환 작업
장면 전환 작업은 다음 장면을 메모리에 미리 불러서 저장시키는 작업입니다. 이러한 방법은 게임이 더 빨라질 수 있지만, 데이터의 질이 낮아질 수도 있다는 단점도 존재합니다.
댓글
댓글 쓰기