Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Gpg study1.8

293 views

Published on

2015 GPG Study 1.8

Published in: Software
  • Be the first to comment

  • Be the first to like this

Gpg study1.8

  1. 1. Game Programming Gems 1.8 빠른 데이터 로드 기법
  2. 2. Idea #1: 데이터의 전처리 • 레벨 데이터는 최대한으로 전처리 작업  레벨 에디터 같은 유틸리티 프로그램을 이용  게임 자체에 데이터 패킹 코드를 넣어 처리 • 저장될 데이터는 반드시 비 static 멤버 변수 • 포인터를 데이터 파일에 저장해서는 안됨  저장시에 포인터가 가리키는 것과 다시 로드한 후에 가리키 는 것이 전혀 다른 메모리이기 때문
  3. 3. Idea #2: 데이터의 저장 • 데이터가 적절한 구조체에 채워지고 나면 그것을 디스크(?)에 저장할 수 있게 됨  데이터 파일에 저장한다 라는 의미 인듯 • 예제 코드
  4. 4. Idea #2: 데이터의 저장 • 예제 코드
  5. 5. Idea #3: 데이터의 로드 • 간단한 방법  그냥 클래스에 데이터를 그대로 읽으면 됨
  6. 6. Idea #3: 데이터의 로드 • 일부 게임기 하드웨어의 경우 데이터를 읽는 방식이 다르다. Ex) 소니 플레이스테이션: CD-ROM으로부터 2048byte의 배수만큼 데이터를 읽음  남는 메모리 공간에는 의미없는 데이터가 덮임. 이러한 현상을 방지하기 위해 구조체의 크기가 경계에 맞도록 더 미 버퍼를 구조체에 추가해야 함 • 보통 데이터 로드에 필요한 충분한 공간을 미리 마련해 두는 것이 제 일 좋음  여러 데이터 로드에 재사용 가능  동적 메모리 할당이 일어나지 않는 시스템에서 사용 가능
  7. 7. Idea #3: 데이터의 로드 • 좀더 안전한 방법 : 특정 크기의 배수만큼 읽기 작업이 일어나는 시스템에서의 코드 예제
  8. 8. 마무레이션 • 데이터를 전처리 하면 게임이 사용할 수 있는 형태로 변환하는 데 필요한 CPU 시간을 줄일 수 있다. • 로드해야 할 데이터의 크기도 줄일 수 있다. • 속도와 용량을 모두 만족시킴 = 최적화 기법이 추구해야 할 목표

×