{{{+1 Loading}}} || {{{#!wiki style="margin: -5px -10px" [[파일:소닉06로딩.gif|width=500]] }}} || || [[소닉 더 헤지혹(2006)#NOW LOADING...|소닉 더 헤지혹(2006)]]에서 || [목차] [clearfix] == 개요 == === 원래 의미 === 정확한 의미는 [[프로그램]] 동작에 필요한 프로그램 그 자체와 리소스를 보조 기억장치(가령 [[하드디스크]])에서 주기억장치([[메모리]])로 불러들이는 과정이다. CPU는 보조기억장치에 바로 접근할 수 없기 때문이다.[* [[DirectX]] 12, [[Vulkan(API)|Vulkan]] 등 최근에 발표된 게임 API에서는 보조기억장치에 직접 접근이 가능하다.] 때문에 로딩은 현대 전자계산기 구조에서 반드시 필요한 과정이다. 'Loading'은 '[[싣다]]'라는 뜻의 [[로드|load]]의 [[현재진행형]]이기 때문에 '로딩 중'이라는 말은 일종의 [[겹말]]이다. 번역시 보통 '불러오는 중'이나 '읽는 중' 정도가 많이 채택된다. === 부가 의미 === 하지만, 일반적으로 '로딩'은 이러한 '로딩 작업이 걸리는 시간'이란 의미를 가진다. 프로그램이 처음 실행될때 디스크에서 읽어서 메모리에 저장하고, 이것이 화면에 출력되는 데까지 걸리는 시간을 의미한다. === 게임에서의 의미 === 일반적으로 이전 세대의 콘솔 게임기는 '적은 메모리'와 '느린 광 미디어'라는 두가지 사항[* 예를 들어 '[[플레이스테이션]]'은 총 메모리가 3.5MB 였고, 2배속 CD-ROM 을 사용했다.]이 조합되어, 로딩에 많은 시간이 소모되는 경우가 흔했다. 게다가 게임은 그 특성상 새 게임을 하거나, 스테이지가 바뀌거나, 지역 이동을 하거나 할때마다 로딩을 해야 하는 경우가 많다. 그리고, 이러한 로딩시간이 길면 길수록 게임에 몰입을 방해하게 된다. === 로딩에 미치는 요소 === * [[RAM]]: 메모리가 많으면 미리 대량의 데이터를 로딩해 놓고 돌리면 되기에, 처음 한 번은 로딩시간이 길 지라도 게임중에는 별다른 로딩 없이 쾌적하게 플레이가 가능해 진다. 크고 넉넉한 메모리 용량은 로딩을 줄이는 데 크게 도움된다. 다만, 현재는 메모리의 용량이나 처리속도가 매우 높은 수준이고 절대 다수의 데이터 출입의 병목현상은 바로 아래 서술할 보조기억장치에서 일어나기 때문에 현재는 로딩속도를 개선하기 위해서 중요시되는 부분은 아니다. * 보조[[기억장치]]: 보조기억장치가 빠르면 빠를수록 로딩 시간은 줄어든다. [[콤팩트 디스크|CD-ROM]]을 사용하던 기기들은 태생적인 성능 때문에 로딩 문제가 많이 발생했다. PS3나 엑스박스 등이 기본적으로 [[하드 디스크 드라이브|HDD]]를 장착하여 출시하는 것에는 성능 문제도 크다.[* [[PS5]]와 [[엑스박스 시리즈 X]]부터는 SSD를 쓰기 때문에 로딩이 더 줄어든다.] 아이러니하게도 가장 읽기 성능이 빠른 보조기억장치는 '[[ROM|롬]] 카트리지'인데, 말 그대로 CPU가 직접 읽을 수 있는 주기억 장치인 롬을 연결해서 사용하기때문에 롬 카트리지 방식을 사용하는 [[패밀리 컴퓨터]], [[네오지오]]는 사실상 로딩이 없다. 다만, 롬 카트리지는 가격과 용량 문제로 퇴출되었다. 또한 2010년도 중반에 들어서 [[SSD]]가 대중화되면서 현재는 개선이 많이 된 편이다. 그러나, 여전히 전자기기의 모든 구성요소 중에 가장 느리게 작동하는 부분[* [[NVMe]] SSD와 듀얼채널 [[RAM|DDR4 SDRAM]]의 속도는 10배 이상 차이난다!]이어서 여전히 로딩속도에 가장 큰 영향을 주며, 프로그램 외적인 부분에 있어서 느린 로딩속도를 해결하기 위해 가장 우선적으로 성능을 개선해야 되는 부분이기도 하다. * 데이터 양: 불러올 데이터가 많으면 많을 수록 당연히 로딩 시간은 길어진다. [[메모리 계층 구조|보조기억장치 → 메모리 → CPU]] 순으로 흘러가게 되는 공정 속에서 데이터는 운반 해야할 "물품" 이라 볼 수 있고, 이런 물품의 양이 많으면 많을 수록 처리속도가 느려지는 것은 당연한 것이다. 이 데이터 양으로 인한 로딩 속도의 저하는 크게 사용자 측면과 개발자 측면의 문제로 나눌 수 있는데, 사용자가 사용하는 보조기억장치나 메모리 등의 사양이 낮다면 처리해야 할 데이터 양이 적다 하더라도 로딩속도가 느려지고, 개발자가 만든 프로그램이나 게임이 [[발적화|최적화가 제대로 되지 않아]] 별것 아닌 작업에도 방대한 양의 데이터를 요구하거나 사용자가 가진 기기의 성능을 제대로 활용하지 못하면 역시 로딩 속도가 느려지는 결과를 낳는다. == 로딩 방법 == === 로딩 화면 띄우기 === * 검은 화면 * 로딩 화면조차 띄우는 것을 거부하는 방법. 제일 간단한 방법 이지만 이 방법은 게임이 로드 중에 오류로 인해 중단되어도 확인할 수가 없다는 치명적인 문제점이 존재한다. 그래서 현재는 [[UI]]가 발전하면서 [[아케이드 게임]]이 아닌 한 쓰지 않는 방법이며, 일부 게임에서는 연출의 일부인 것처럼 속이는 용도로 서용하기도 한다. 대표적인 게임으로 [[스탠리 패러블]]과 [[비기너스 가이드]]. * 그냥 '로드 중'이라고만 띄우기 * 역시 간단하지만, 그냥 정지된 글자나 이미지를 띄워 놓으면 역시 게임이 멈췄는지 정상 로드 중인지를 확인할 수 없다. 그래서 로드 중이라는 표시 외에 움직임을 추가하는 방식을 많이 사용하며, 로딩 메세지를 게임에 맞게 바꾸기도 한다. * 게임과 관련된 정보와 팁 * 가장 널리 쓰이는 보편적인 방법으로 게임에서 써먹을 수 있는 작은 팁이나 게임 관련 정보를 화면 상에 보여준다. 물론 대부분 도움이 안 된다. [[보더랜드 2]]나 [[엘더스크롤 5: 스카이림]] 같이 게임에서 나오는 무기류나 지역들을 --얼짱각도로-- 보여주기도 한다. 가끔씩 농담을 집어넣기도 한다. 농담이나 생뚱맞은 문구를 로딩 화면에 집어넣기로는 [[맥시스]]사의 게임들이 유명하다. 특히 심즈 시리즈의 로딩 문구가 워낙 특이해서 밈으로도 자주 쓰이는 게 특징. 이 문구가 해당 확장팩의 특징 같은 걸 은유적으로 잘 표현하는지라 확장팩 별로 이런 로딩 문구를 읽는 재미가 있다. 오컬트 요소가 많이 추가된 [[심즈3]] 슈퍼내츄럴 확장팩 같은 경우 '빠른 로딩 영약을 만드는 중'이라는 문구가 로딩 화면에 뜬다. '[[심시티 5]] 로딩 같은 경우는 ''[[라마]]를 몰고 가는 중'', [[클로저스]]의 ''[[이세하|세하]]가 게임기를 끄는 중''과 같은 플레이와는 관련이 없는 행위를 하는 중이라고 뜨는 경우가 많다. [[하스스톤]] 로딩에서도 그렇다. [[하지마라]]도 [[워해머]]의 로딩 메시지로 유명해진 것이다. * 웹툰 모바일 게임에서 주로 사용되는 방법으로 로딩화면에 하나의 만화를 넣는 방법으로 위 방법의 일부로도 활용되기도 한다. * 미니 게임 * 로드 화면에 게임을 집어넣는 것. --메인 게임이 재미없으면 이게 더 재밌을 수도 있다.-- 대표적으로 [[플레이스테이션]]용 [[릿지 레이서]]의 로딩게임 [[갤럭시안]]과 [[철권 1]]의 로딩 게임 [[갤러그]]가 유명하다. 유독 남코 계열 게임에서 많이 찾아 볼 수 있는데 이는 단순히 로딩중 미니 게임 특허를 [[https://patents.google.com/patent/US5718632|남코가 소유하고 있었기 때문이다.]] 지금은 유튜브와 크롬에도 인터넷 연결이 지연되거나 아예 안될 때 가능한 점프 게임이 있다.[* 이 상태시 공룡 모양의 아이콘이 뜨는데, 이 공룡 모양의 아이콘을 누르거나 키보드에서 스페이스를 누르면 그래도 게임 시작이다.] 극악의 로딩으로 유명한 심즈 3에서는 1.63패치부터 세이브 파일 로딩에 숨은 아이템 찾기 미니게임을 넣었는데, 지정된 아이템을 찾아 클릭하면 일정량의 평생 행복 포인트를 획득했다는 메시지가 표시되고, 로딩 완료 후 활성 가족에게 평생 행복 포인트가 분배된다. 위의 팁과 합쳐서 스킬 연습을 넣는 경우도 있다. [[소닉 프론티어]]가 이러한 경우 중 하나. * 컷씬 * 로드 중에 컷씬이나 보고 있으라고 하는 방법. 다만 이미 본 컷신이라도 스킵도 못하고 그냥 봐야 하거나 스킵이 가능하다고 해도 로딩 스크린을 봐야하며, 일부 게임의 경우 로딩이 끝나면 컷신을 스킵할 수 있게 설정해놓는 경우도 있다. 혹은 [[콜 오브 듀티 시리즈]]처럼 로드 중에 미션 브리핑을 진행하는 경우도 있다. 이건 주로 [[바이오하자드 시리즈]] 초창기 버전에서 문을 열거나 계단을 오르내리는 등의 컷신을 넣고 그동안 다음 방의 데이터를 로드한다. === 심리스(seamless) 방식 === 로딩 화면을 띄우지 않고 게임 플레이 중간중간 데이터를 미리 로드해서 게임 플레이가 끊기지 않게 하는 방식. 로딩 때문에 끊기는 게임의 템포를 끊기지 않게 해주는 기술이다. 사실 오픈 월드라고 하면 대부분의 사람들이 이 방식으로 알고 있다. * 프리 로드 * 프로그램 시작 전이나 프로그램 시행 도중에 다음에 로드해야 할 부분을 미리 로드하는 방법이다. 일반적으로 대형 맵을 다수의 셀로 나누어 현재 셀과 인접한 셀을 최우선적으로 로드하고 이동하면서 이를 지속적으로 갱신[* 가까워지는 셀은 추가로 로드, 멀어지는 셀은 해제]하는 방식으로 만든다. 대표적으로 [[젤다의 전설 바람의 지휘봉]]과 [[스카이림]]의 프리로드 방식이 이에 해당한다. 로딩 화면을 굳이 볼 필요가 없어진다는 장점이 있으나 연산 성능이 일정 수준을 만족해야 하며, 주기억장치인 RAM의 용량 및 '''[[SSD]]/[[RAID]]의 사용 여부가 프리 로드 성능을 크게 좌우하게 된다'''는 단점이 있다. ~~즉, 돈을 컴퓨터에 발라야 한다.~~ 개발자의 입장에서도 로딩 알고리즘을 구성하기가 매우 어려워지기 때문에, 어느 정도 개발역량이 있는 개발사의 오픈월드 게임에서 자주 사용된다.[* 오픈월드가 아니지만 [[오버워치]]도 전투의 페이스를 유지하기 위해 비슷한 방식을 썼다. 게임을 시작할 때 맵은 보이지만 캐릭터가 안 보이는 게 그 이유.] 그 외에 [[마인크래프트]]도 청크 로딩[* 다만 게임을 처음 켜거나 다른 차원에 갈 때는 일반적인 로딩을 한다.]이라는 이와 같은 개념을 사용한다. * 교묘한 눈속임 * [[미러스 엣지]], [[데드 스페이스]] 같이 엘리베이터가 나오는 대부분 게임과 [[테라(MMORPG)|테라]]의 페가수스를 통한 마을 이동 등이 이에 해당된다. 특정 지역간의 이동 사이에 '''항상 메모리에 미리 로드가 되어 있는 특별한 공간'''[* 또는 맵 이동과 관련된 조건에 근접하면 프리로드하는 방식을 응용하기도 한다. 이 경우 프리로딩에 필요한 시간을 벌기 위해 약간의 불필요한 행위를 하면서 동시에 프리로딩을 하기도 한다.]을 사이에 추가하여 기존 맵 → 미리 로드되어 있던 특수맵 즉시 이동 → 목적지 맵 로딩 진행[* 이 때에도 제한적인 게임 진행이 가능하다.] → 목적지 맵으로 이동하는 방식이 이에 해당한다. 게임에서는 굳이 엘리베이터 타는 시간은 건너뛰지 않는 경우가 많은데, 이 시간이 로드 시간이다. 로딩 중은 안 떠도 로드 중인 셈. 갓 오브 워 시리즈처럼 문을 여는 시간을 길게 하는 방법을 쓰기도 하는데, 이 역시 문 여는 시간이 로드 시간.[* 대표적인 사례가 [[폴아웃 시리즈]]의 [[볼트(폴아웃 시리즈)|볼트]] 문이다.] 어떤 게임들은 고의로 긴 통로를 만들어 놓아서 플레이어가 통과하는 시간을 길게 하는 경우도 있다. [[저니]]나 [[록맨 시리즈]] 등에서 써먹었다. 일종의 [[버퍼링]]이라 할 수 있겠다. 동굴처럼 점점 어두워지는 공간 사이에 검은색 빈화면만 표시되게한 로딩스크린을 띄우는 식으로 로딩화면을 숨기는 희귀한 사례도 존재하지만, 로딩 도중에 게임이 뻗어버려도 플레이어가 바로 알아차리지 못한다는 치명적인 단점이 존재한다. * 우선순위 로드 * 제일 중요한 부분만 먼저 로드해서 일단 게임 화면을 띄우고 나중에 덜 중요한 부분을 로드하는 방법이다. 일부 게임들은 처음 게임 시작시에 그래픽이 뭉개지는 현상(일명 찰흙 현상)을 볼 수 있는 데 이는 핵심 스크립트와 저급 그래픽 리소스를 먼저 로드하여[* 대부분의 로딩 시간을 차지하는 것은 용량이 큰 텍스처와 GUI 및 대량의 텍스트 등이다.] 게임 진행이 가능한 상태로 만들어주고, 게임을 진행하면서 남는 여유 능력을 이용해 실시간으로 고급 그래픽 리소스를 로드하여 교환하는 방식을 사용하기 때문이다. 대표적으로 [[사이버펑크 2077]]와 [[원신]]이 해당 방식을 사용하는 것으로 알려졌다. * 최적화 * 게임 데이터 리소스와 그 배치를 최적화해서 애초에 로딩 시간을 줄이는 것. 각종 프로그래밍적 꼼수와 상식을 뒤집는 다른 시각이 필요할 때가 많다. 리소스의 용량 압축도 여기에 해당되는데, 예전 게임에서 자주 봤을 CRIware 미들웨어가 한 예다. [[http://segaretro.org/images/thumb/c/c8/Criware.svg/475px-Criware.svg.png|이 로고를 자주 봤을 것이다.]] [[밸브 코퍼레이션]]에서 제작한 싱글플레이 지향형 게임들은 다른 게임사라면 하나의 구간으로 만들었을 것도 여러 개의 로딩 구간으로 쪼개서, 로딩을 자주 하는 한이 있어도 로딩 시간을 최대한 줄이는 방식으로 최적화를 달성했다. == 극악의 로딩으로 유명한 게임 == 로딩이 길어지는 원인은 주로 과거 게임기의 2배속 시디롬 같은 부족한 성능에서 기인하는 일도 많지만, 개발자의 실수로 이해할 수 없이 긴 로딩 시간을 갖는 게임들도 많이 있다. 진한글자게임은 이하 막장 로딩에 해당하는 게임 목록들. 모두 시간이 너무 많이 걸려서 플레이어를 빡치게 만드는 로딩으로 유명하며 이를 플레이하는 사람들은 미치거나 해탈하거나 둘 중 하나. 흔히들 커피 한잔의 타임 또는 컵라면 한그릇의 여유라고 디스한다. * [[네오지오 CD]]로 발매된 거의 모든 게임들: 이건 기기 특유의 많은 양의 램을 CD-ROM 드라이브의 속도가 버티질 못해 일어난 참사다. * 스맥다운!vsRaw PSP타이틀 * PS판 [[각명관 시리즈]] * PS2판 [[네오지오 배틀 컬리시엄]] * PS판 [[KOF 시리즈]]: PS의 램 용량이 KOF 6명분의 데이터를 모두 읽어들이기에 모자라서 사람 바뀔 때마다 로딩한다. * PSP판 [[신기환상]] 스펙트럴 소울즈2 ~언리미티드 --로딩--사이드~ * [[진설 사무라이 스피리츠 무사도열전]]: SS판은 그나마 빠르다. 그래봤자 오십보백보지만. * '''[[소닉 더 헤지혹(2006)]]''': 이 분야의 레전설. 넘쳐나는 버그들로도 모자라서 사실상 시리즈 내의 전설급으로 로딩이 길다. 발매 후 10년이 지난 현재까지도 공식에서 심심하면 이 게임의 로딩 드립을 치고 있다. [* [[엑박 360]]의 에뮬레이터인 [[Xenia]]를 사용하면 로딩이 그나마 좀 줄어든다.] * [[심즈 3]]: 수많은 DLC와 [[오픈 월드]]의 조합으로 시리즈 중 독보적인 로딩을 자랑한다. 결국 후속작 [[심즈 4]]에서는 오픈 월드와 CASt를 삭제하는 등의 극약처방을 내놓아서 로딩 문제를 해결했다. * [[신 슈퍼로봇대전]]: 전투 장면 돌입 로딩이 길뿐더러 스킵도 불가능. * '''[[Grand Theft Auto Online]]''': 온라인 프리모드 진입에 매우 오랜 시간이 걸린다.[* 다만 이는 컴퓨터 성능에 따라서도 다르다. 인텔 i7같은 고성능 CPU로는 로딩시간이 더 빠르고 즉시 온라인으로 들어가도 빠르게 접속되는반면에 셀러론처럼 최악의 성능의 CPU는 로딩시간이 매우 길다.] 농담으로 플레이 타임중 절반이 로딩이란 소리도 있는데 플레이 해보면 사실이다. 로딩도 문제긴 한데 또 큰 문제는 무한로딩. 5번중 1~2번꼴로 무한로딩이걸린다. 다만 최근에 바뀌었는지 과거처럼 엄청나게 기다리지 않아도 된다!~~Grand Theft Loading Online [[http://images.akamai.steamusercontent.com/ugc/28488725016306363/B8FE737A59A026B6A2C00B1C0D210DBAC9B220D8/|이런 것도 나왔다]]~~ 하도 로딩이 심해서 어느 한 능력자 유저가 파일을 뜯어 분석하다가 해결책을 찾아내 개발사 락스타 측에 전달하고 락스타는 발매한지 무려 6년만에 그것을 패치해 현재는 많이 개선되었다. 여담으로 해결책을 찾은 유저는 '''10000달러'''를 개발사측에서 지급받았다고 한다. [* 이유는 휴먼에러. 정확히는 코드 배열에 다 때려 박는 식으로 짠 잘못된 코드때문에 그랬다. CPU가 그걸 정리한다고 미친듯이 루프를 돌려버리늗데 약 20억회 루프를 돌렸다고 한다. 게다가 이로인해 나름 쾌적한 그타 온라인이 되면서 많은 유저들은 "누구보다 코드를 잘 알고있는 락스타가 무려 '''5,6년 동안''' 해결되지 않은 문제를 찾아줬는데 1만달러 포상금은 너무 적은것 같고 10만달러를 줘야하지 않냐."는 진지한 반응이 나올 정도였다.] * 콘솔판 [[XCOM 2]]:초반부는 멀쩡하지만 중후반부터 5분은 기본이요 최대10분까지 잡아먹는다.~~철인 유저들은 그동안 자신의 플레이를 반성한다고 카더라~~ * [[PSVITA]]판 [[영웅전설 섬의 궤적]] ~~로딩전설 로딩의 궤적~~ * [[아스팔트 8]]: 특히 상점의 경우 5~10분은 족히 기다려야 한다. * [[폴아웃 4]]: 로딩 중에도 GPU에 프레임 제한이 걸려 로딩이 지연된다. 이를 해결하는 유저 모드가 있다. * [[모여봐요 동물의 숲]]: 건물이나 다른방에 들어가거나 나오는데도 10초 이상 기다려야 하며 게임을 실행할때 타이틀 화면에 게임의 배경인 섬을 띄우기위한 로딩, 게임 시작후 안내방송을 위한 로딩(그날 처음실행할때만), 맵 로딩이 순서대로 진행되며 각각의 로딩시간이 짧은것도 아니다. 심지어 타이틀 화면에서 일정시간이 지나면 타이틀화면을 새로고침하기위해 또 로딩을 하며 당연히 이때는 게임을 시작할 수 없다. 이하의 목록은 로딩의 문제가 아닌 다른 문제에서 기인한다. * [[디아블로 2]] - 멀티플레이어의 서버 문제 * [[문명 5]] - CPU 인공지능의 턴 계산 시간 * [[플래닛사이드 2]] - 리소스 다운로드 문제 [[분류:소프트웨어]]