멀티스레딩을 하지 않는다면 이처럼 ‘로딩하는 동안 다른 뭔가를 하도록’ 어떻게 구현해 주어야 할까요? 아마도 다음 코드처럼 ‘하나 로딩하고 렌더링하기’를 반복해야 할 것입니다.
LoadScene() { Render(); LoadScene(); Render(); LoadModel(); Render(); LoadTexture(); Render(); LoadAnimation(); Render(); LoadSound(); }
당연히 코드가 매우 지저분합니다. 로딩하는 파일 크기가 크다면? 큰 파일을 로딩하는 동안에는 일시적으로 프레임률(frame rate)이 뚝뚝 끊길 것입니다. 그러면 큰 파일은 부분(chunk) 단위로 로딩하면서 렌더링을 하면 어떨까요? 좀 낫기는 하겠지만, 그래도 프레임률은 균일하지 못할 것입니다. 코드가 더 지저분해지는 것은 물론이고요.