Page 21 -
P. 21

로딩하는 동안 간단한 미니 게임을 플레이할 수 있다면 더욱 즐거울 것입니다.                 *

                       그림 1-13 로딩하는 동안 즐기는 미니 게임
                                                                                                      1




                                                                                                      멀티스레딩














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


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


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

                    이때 멀티스레드를 이용하면 두 가지 문제를 모두 해결할 수 있습니다. 다음 코드를 봅시다.



                    *     로딩 화면에서 미니 게임을 플레이하는 아이디어는 ㈜남코(Namco)의 특허였으나, 이 특허가 2015년에 수명을 다했습니다. 여러분, 봉인이
                       풀렸습니다!

                                                                                                  029
   16   17   18   19   20   21   22   23   24   25   26