로딩
Loading
[clearfix]
정확한 의미는 프로그램 동작에 필요한 프로그램 그 자체와 리소스를 보조 기억장치(가령 하드디스크)에서 주기억장치(메모리)로 불러들이는 과정이다. CPU는 보조기억장치에 바로 접근할 수 없기 때문이다. 때문에 로딩은 현대 전자계산기 구조에서 반드시 필요한 과정이다.
'Loading'은 '싣다'라는 뜻의 load의 현재진행형이기 때문에, 한글 음차하면 '로딩 중'이 아닌 '로드 중'이라고 하는 것이 맞다. 다만 현재진행형이 아니라 load의 명사형으로 loading을 사용하는 것이라면 '로딩 중'이 맞다고 할 수도 있긴 하다. load의 명사형은 그냥 load라고 반박할 수도 있으나 그냥 load에는 '프로그램을 불러오는 과정'이라는 뜻은 없다.
번역시 보통 '불러오는 중'이나 '읽는 중' 정도가 많이 채택된다.
하지만, 일반적으로 '로딩'은 이러한 '로딩 작업이 걸리는 시간'이란 의미를 가진다.
프로그램이 처음 실행될때 디스크에서 읽어서 메모리에 저장하고, 이것이 화면에 출력되는 데까지 걸리는 시간을 의미한다.
일반적으로 이전 세대의 콘솔 게임기는 '적은 메모리'와 '느린 광 미디어'라는 두가지 사항[1] 이 조합되어, 로딩에 많은 시간이 소모되는 경우가 흔했다. 게다가 게임은 그 특성상 새 게임을 하거나, 스테이지가 바뀌거나, 지역 이동을 하거나 할때마다 로딩을 해야 하는 경우가 많다. 그리고, 이러한 로딩시간이 길면 길수록 게임에 몰입을 방해하게 된다.
로딩 화면을 띄우지 않고 게임 플레이 중간중간 데이터를 미리 로드해서 게임 플레이가 끊기지 않게 하는 방식.
로딩이 길어지는 원인은 주로 과거 게임기의 2배속 시디롬 같은 부족한 성능에서 기인하는 일도 많지만, 개발자의 실수로 이해할 수 없이 긴 로딩 시간을 갖는 게임들도 많이 있다.
진한글자게임은 이하 막장 로딩에 해당하는 게임 목록들. 모두 시간이 너무 많이 걸려서 플레이어를 빡치게 만드는 로딩으로 유명하며 이를 플레이하는 사람들은 미치거나 해탈하거나 둘 중 하나. 흔히들 커피 한잔의 타임 또는 컵라면 한그릇의 여유라고 디스한다.
[clearfix]
1. 개요
1.1. 원래 의미
정확한 의미는 프로그램 동작에 필요한 프로그램 그 자체와 리소스를 보조 기억장치(가령 하드디스크)에서 주기억장치(메모리)로 불러들이는 과정이다. CPU는 보조기억장치에 바로 접근할 수 없기 때문이다. 때문에 로딩은 현대 전자계산기 구조에서 반드시 필요한 과정이다.
'Loading'은 '싣다'라는 뜻의 load의 현재진행형이기 때문에, 한글 음차하면 '로딩 중'이 아닌 '로드 중'이라고 하는 것이 맞다. 다만 현재진행형이 아니라 load의 명사형으로 loading을 사용하는 것이라면 '로딩 중'이 맞다고 할 수도 있긴 하다. load의 명사형은 그냥 load라고 반박할 수도 있으나 그냥 load에는 '프로그램을 불러오는 과정'이라는 뜻은 없다.
번역시 보통 '불러오는 중'이나 '읽는 중' 정도가 많이 채택된다.
1.2. 부가 의미
하지만, 일반적으로 '로딩'은 이러한 '로딩 작업이 걸리는 시간'이란 의미를 가진다.
프로그램이 처음 실행될때 디스크에서 읽어서 메모리에 저장하고, 이것이 화면에 출력되는 데까지 걸리는 시간을 의미한다.
1.3. 게임에서의 의미
일반적으로 이전 세대의 콘솔 게임기는 '적은 메모리'와 '느린 광 미디어'라는 두가지 사항[1] 이 조합되어, 로딩에 많은 시간이 소모되는 경우가 흔했다. 게다가 게임은 그 특성상 새 게임을 하거나, 스테이지가 바뀌거나, 지역 이동을 하거나 할때마다 로딩을 해야 하는 경우가 많다. 그리고, 이러한 로딩시간이 길면 길수록 게임에 몰입을 방해하게 된다.
1.4. 로딩에 미치는 요소
- RAM: 메모리가 많으면 미리 대량의 데이터를 로딩해 놓고 돌리면 되기에, 처음 한 번은 로딩시간이 길 지라도 게임중에는 별다른 로딩 없이 쾌적하게 플레이가 가능해 진다. 크고 넉넉한 메모리 용량은 로딩을 줄이는 데 크게 도움된다. 다만, 현재는 메모리의 용량이나 처리속도가 매우 높은 수준이고 절대 다수의 데이터 출입의 병목현상은 바로 아래 서술할 보조기억장치에서 일어나기 때문에 현재는 로딩속도를 개선하기 위해서 중요시되는 부분은 아니다.
- 보조기억장치: 보조기억장치가 빠르면 빠를수록 로딩 시간은 줄어든다. CD-ROM을 사용하던 기기들은 태생적인 성능 때문에 로딩 문제가 많이 발생했다. PS3나 엑스박스 등이 기본적으로 HDD를 장착하여 출시하는 것에는 성능 문제도 크다.[2] 아이러니하게도 가장 읽기 성능이 빠른 보조기억장치는 '롬 카트리지'인데, 말 그대로 CPU가 직접 읽을 수 있는 주기억 장치인 롬을 연결해서 사용하기때문에 롬 카트리지 방식을 사용하는 패밀리 컴퓨터, 네오지오는 사실상 로딩이 없다. 다만, 롬 카트리지는 가격과 용량 문제로 퇴출되었다. 또한 2010년도 중반에 들어서 SSD가 대중화되면서 현재는 개선이 많이 된 편이다. 그러나, 여전히 전자기기의 모든 구성요소 중에 가장 느리게 작동하는 부분[3] 이어서 여전히 로딩속도에 가장 큰 영향을 주며, 프로그램 외적인 부분에 있어서 느린 로딩속도를 해결하기 위해 가장 우선적으로 성능을 개선해야 되는 부분이기도 하다.
- 데이터 양: 불러올 데이터가 많으면 많을 수록 당연히 로딩 시간은 길어진다. 보조기억장치 → 메모리 → CPU 순으로 흘러가게 되는 공정 속에서 데이터는 운반 해야할 "물품" 이라 볼 수 있고, 이런 물품의 양이 많으면 많을 수록 처리속도가 느려지는 것은 당연한 것이다. 이 데이터 양으로 인한 로딩 속도의 저하는 크게 사용자 측면과 개발자 측면의 문제로 나눌 수 있는데, 사용자가 사용하는 보조기억장치나 메모리 등의 사양이 낮다면 처리해야 할 데이터 양이 적다 하더라도 로딩속도가 느려지고, 개발자가 만든 프로그램이나 게임이 최적화가 제대로 되지 않아 별것 아닌 작업에도 방대한 양의 데이터를 요구하거나 사용자가 가진 기기의 성능을 제대로 활용하지 못하면 역시 로딩 속도가 느려지는 결과를 낳는다.
2. 로딩 방법
2.1. 로딩 화면 띄우기
- 검은 화면
- 그냥 '로드 중'이라고만 띄우기
- 게임과 관련된 팁이나 정보
- 게임에서 써먹을 수 있는 작은 팁이나 게임 관련 정보를 화면 상에 보여준다. 가장 보편적인 방법. 물론 대부분 도움이 안 된다. 보더랜드 2나 스카이림같이 게임에서 나오는 무기류나 지역들을 보여주기도 한다. 가끔씩 농담을 집어넣기도 한다. 농담이나 생뚱맞은 문구를 로딩 화면에 집어넣기로는 맥시스사의 게임들이 유명하다. 특히 심즈 시리즈의 로딩 문구가 워낙 특이해서 밈으로도 자주 쓰이는 게 특징. 이 문구가 해당 확장팩의 특징 같은 걸 은유적으로 잘 표현하는지라 확장팩 별로 이런 로딩 문구를 읽는 재미가 있다. 오컬트 요소가 많이 추가된 심즈3 슈퍼내츄럴 확장팩 같은 경우 '빠른 로딩 영약을 만드는 중'이라는 문구가 로딩 화면에 뜬다. '심시티 5 로딩 같은 경우는 라마를 몰고 가는 중, 클로저스의 세하가 게임기를 끄는 중과 같은 플레이와는 관련이 없는 행위를 하는 중이라고 뜨는 경우가 많다. 하스스톤 로딩에서도 그렇다. 하지마라도 워해머의 로딩 메시지로 유명해진 것이다.
- 웹툰
로딩화면에 하나의 만화를 넣는 방법으로 위 방법의 일부로도 활용되기도 한다.
- 미니 게임
- 컷신
- 로드 중에 컷신이나 보고 있으라고 하는 방법. 다만 이미 본 컷신이라도 스킵도 못하고 그냥 봐야 하며, 일부 게임의 경우 로딩이 끝나면 컷신을 스킵할 수 있게 설정해놓는 경우도 있다. 혹은 콜 오브 듀티 시리즈처럼 로드 중에 미션 브리핑을 진행하는 경우도 있다.
2.2. 심리스(seamless) 방식
로딩 화면을 띄우지 않고 게임 플레이 중간중간 데이터를 미리 로드해서 게임 플레이가 끊기지 않게 하는 방식.
- 프리 로드
- 프로그램 시작 전이나 프로그램 시행 도중에 다음에 로드해야 할 부분을 미리 로드하는 방법이다. 일반적으로 대형 맵을 다수의 셀로 나누어 현재 셀과 인접한 셀을 최우선적으로 로드하고 이동하면서 이를 지속적으로 갱신[5] 하는 방식으로 만든다. 대표적으로 젤다의 전설 바람의 지휘봉과 스카이림의 프리로드 방식이 이에 해당한다. 로딩 화면을 굳이 볼 필요가 없어진다는 장점이 있으나 연산 성능이 일정 수준을 만족해야 하며, 주기억장치인 RAM의 용량 및 SSD/RAID의 사용 여부가 프리 로드 성능을 크게 좌우하게 된다는 단점이 있다. 개발자의 입장에서도 로딩 알고리즘을 구성하기가 매우 어려워지기 때문에, 어느 정도 개발역량이 있는 개발사의 오픈월드 게임에서 자주 사용된다.[6] 그 외에 마인크래프트도 청크 로딩[7] 이라는 이와 같은 개념을 사용한다.
- 교묘한 눈속임
- 미러스 엣지, 데드 스페이스 같이 엘리베이터가 나오는 대부분 게임과 테라의 페가수스를 통한 마을 이동 등이 이에 해당된다. 특정 지역간의 이동 사이에 항상 메모리에 로드가 되어 있는 특별한 공간[8] 을 사이에 추가하여 기존 맵 → 미리 로드되어 있던 특수맵 즉시 이동 → 목적지 맵 로딩 진행[9] → 목적지 맵으로 이동하는 방식이 이에 해당한다. 게임에서는 굳이 엘리베이터 타는 시간은 건너뛰지 않는 경우가 많은데 이 시간이 로드 시간이다. 로딩 중은 안 떠도 로드 중인 셈. 일부 게임은 문 여는 시간을 길게 하는 방법을 쓰기도 한다. 이 역시 문 여는 시간이 로드 시간. 어떤 게임들은 고의로 긴 통로를 만들어 놓아서 플레이어가 통과하는 시간을 길게 하는 경우도 있다. 저니나 록맨 등에서 써먹었다. 일종의 버퍼링이라 할 수 있겠다.
- 우선순위 로드
- 제일 중요한 부분만 먼저 로드해서 일단 게임 화면을 띄우고 나중에 덜 중요한 부분을 로드하는 방법이다. 일부 게임들은 처음 게임 시작시에 그래픽이 뭉개지는 현상(일명 찰흙 현상)을 볼 수 있는 데 이는 핵심 알고리즘과 저급 그래픽 리소스를 먼저 로드하여[10] 게임 진행이 가능한 상태를 빠르게 만들어주고, 게임을 진행하면서 남는 여유 능력을 이용해 실시간으로 고급 그래픽 리소스를 로드하여 교환하는 방식을 사용하기 때문이다. 대표적으로 사이버펑크 2077이 해당 방식을 사용하는 것으로 알려졌다.
- 최적화
- 게임 데이터 리소스와 그 배치를 최적화해서 애초에 로딩 시간을 줄이는 것. 각종 프로그래밍적 꼼수와 상식을 뒤집는 다른 시각이 필요할 때가 많다. 리소스의 용량 압축도 여기에 해당되는데, 예전 게임에서 자주 봤을 CRIware 미들웨어가 한 예다. 이 로고를 자주 봤을 것이다. 밸브 코퍼레이션에서 제작한 싱글플레이 지향형 게임들은 다른 게임사라면 하나의 구간으로 만들었을 것도 여러 개의 로딩 구간으로 쪼개서, 로딩을 자주 하는 한이 있어도 로딩 시간을 최대한 줄이는 방식으로 최적화를 달성했다.
3. 극악의 로딩으로 유명한 게임
로딩이 길어지는 원인은 주로 과거 게임기의 2배속 시디롬 같은 부족한 성능에서 기인하는 일도 많지만, 개발자의 실수로 이해할 수 없이 긴 로딩 시간을 갖는 게임들도 많이 있다.
진한글자게임은 이하 막장 로딩에 해당하는 게임 목록들. 모두 시간이 너무 많이 걸려서 플레이어를 빡치게 만드는 로딩으로 유명하며 이를 플레이하는 사람들은 미치거나 해탈하거나 둘 중 하나. 흔히들 커피 한잔의 타임 또는 컵라면 한그릇의 여유라고 디스한다.
- 네오지오 CD로 발매된 거의 모든 게임들: 이건 기기 특유의 많은 양의 램을 CD-ROM 드라이브의 속도가 버티질 못해 일어난 참사다.
- 스맥다운!vsRaw PSP타이틀
- PS판 각명관 시리즈
- PS2판 네오지오 배틀 컬리시엄
- PS판 KOF 시리즈: PS의 램 용량이 KOF 6명분의 데이터를 모두 읽어들이기에 모자라서 사람 바뀔 때마다 로딩한다.
- PSP판 신기환상 스펙트럴 소울즈2 ~언리미티드 사이드~
- 진설 사무라이 스피리츠 무사도열전: SS판은 그나마 빠르다. 그래봤자 오십보백보지만.
- 소닉 더 헤지혹(2006): 넘쳐나는 버그들로도 모자라서 사실상 시리즈 내의 전설급으로 로딩이 길다. 발매 후 10년이 지난 현재까지도 공식에서 심심하면 이 게임의 로딩 드립을 치고 있다.
- 심즈 3: 수많은 DLC와 오픈 월드의 조합으로 시리즈 중 독보적인 로딩을 자랑한다. 결국 후속작 심즈 4에서는 오픈 월드와 CASt를 삭제하는 등의 극약처방을 내놓아서 로딩 문제를 해결했다.
- 신 슈퍼로봇대전: 전투 장면 돌입 로딩이 길뿐더러 스킵도 불가능.
- GTA 온라인: 온라인 프리모드 진입에 매우 오랜 시간이 걸린다.[11] 농담으로 플레이 타임중 절반이 로딩이란 소리도 있는데 플레이 해보면 사실이다. 로딩도 문제긴 한데 또 큰 문제는 무한로딩. 5번중 1~2번꼴로 무한로딩이걸린다.
- 콘솔판 XCOM 2:초반부는 멀쩡하지만 중후반부터 5분은 기본이요 최대10분까지 잡아먹는다.
- PSVITA판 영웅전설 섬의 궤적
- 아스팔트 8: 특히 상점의 경우 5~10분은 족히 기다려야 한다.
- 모여봐요 동물의 숲: 건물에 들어갔다 나오는데도 10초 이상 기다려야 한다.
[1] 예를 들어 '플레이스테이션'은 총 메모리가 3.5MB 였고, 2배속 CD-ROM 을 사용했다.[2] PS5와 엑스박스 시리즈 X부터는 SSD를 쓰기 때문에 로딩이 더 줄어든다.[3] NVMe SSD와 듀얼채널 DDR4 SDRAM의 속도는 10배 이상 차이난다![4] 이 상태시 공룡 모양의 아이콘이 뜨는데, 이 공룡 모양의 아이콘을 누르거나 키보드에서 스페이스를 누르면 그래도 게임 시작이다.[5] 멀어지는 셀은 해제[6] 오픈월드가 아니지만 오버워치도 전투의 페이스를 유지하기 위해 비슷한 방식을 썼다. 게임을 시작할 때 맵은 보이지만 캐릭터가 안 보이는 게 그 이유.[7] 다만 처음 시작이나 다른 차원에 갈 때는 로딩 시간이 있다.[8] 또는 맵 이동과 관련된 조건에 근접하면 프리로드하는 방식을 응용하기도 한다. 이 경우 프리로딩에 필요한 시간을 벌기 위해 약간의 불필요한 행위를 하면서 동시에 프리로딩을 하기도 한다.[9] 이 때에도 제한적인 게임 진행이 가능하다.[10] 대부분의 로딩 시간을 차지하는 것은 용량이 큰 텍스처와 GUI 및 대량의 텍스트 등이다.[11] 다만 이는 컴퓨터 성능에 따라서도 다르다. 인텔 i7같은 고성능 CPU로는 로딩시간이 더 빠르고 즉시 온라인으로 들어가도 빠르게 접속되는반면에 셀러론처럼 최악의 성능의 CPU는 로딩시간이 매우 길다.