더북(TheBook)

멀티스레딩을 하지 않는다면 이처럼 ‘로딩하는 동안 다른 뭔가를 하도록’ 어떻게 구현해 주어야 할까요? 아마도 다음 코드처럼 ‘하나 로딩하고 렌더링하기’를 반복해야 할 것입니다.

LoadScene()
{
  Render();
  LoadScene();
  Render();
  LoadModel();
  Render();
  LoadTexture();
  Render();
  LoadAnimation();
  Render();
  LoadSound();
}

당연히 코드가 매우 지저분합니다. 로딩하는 파일 크기가 크다면? 큰 파일을 로딩하는 동안에는 일시적으로 프레임률(frame rate)이 뚝뚝 끊길 것입니다. 그러면 큰 파일은 부분(chunk) 단위로 로딩하면서 렌더링을 하면 어떨까요? 좀 낫기는 하겠지만, 그래도 프레임률은 균일하지 못할 것입니다. 코드가 더 지저분해지는 것은 물론이고요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.