나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2024-11-07 05:59:50

로딩

loading에서 넘어옴
Loading
파일:로딩.svg
우리가 흔히 아는 로딩 장면
파일:external/lparchive.org/loading.gif
소닉 더 헤지혹(2006)에서

1. 개요
1.1. 원래 의미1.2. 부가 의미1.3. 게임에서의 의미1.4. 로딩에 영향을 미치는 요소
2. 로딩 방법
2.1. 로딩 화면 띄우기2.2. 심리스(seamless) 방식
3. 극악의 로딩으로 유명한 게임4. 가짜 로딩

[clearfix]

1. 개요

1.1. 원래 의미

정확한 의미는 프로그램 동작에 필요한 프로그램 그 자체와 리소스를 보조 기억장치(가령 하드디스크)에서 주기억장치(메모리)로 불러들이는 과정이다. CPU는 보조기억장치에 바로 접근할 수 없기 때문이다.[1] 때문에 로딩은 현대 전자계산기 구조에서 반드시 필요한 과정이다.

'Loading'은 '싣다'라는 뜻의 load현재진행형이기 때문에 '로딩 중'이라는 말은 일종의 겹말이다. 번역시 보통 '불러오는 중'이나 '읽는 중', '로드 중' 정도가 많이 채택된다.

일반적으로 로딩 시에는 프로그레스 인디케이터 UI를 이용하여 로딩 중임을 나타낸다.

1.2. 부가 의미

하지만, 일반적으로 '로딩'은 이러한 '로딩 작업이 걸리는 시간'이란 의미를 가진다.
프로그램이 처음 실행될때 디스크에서 읽어서 메모리에 저장하고, 이것이 화면에 출력되는 데까지 걸리는 시간을 의미한다.

1.3. 게임에서의 의미

일반적으로 이전 세대의 콘솔 게임기는 '적은 메모리'와 '느린 광 미디어'라는 두가지 사항[2]이 조합되어, 로딩에 많은 시간이 소모되는 경우가 흔했다. 게다가 게임은 그 특성상 새 게임을 하거나, 스테이지가 바뀌거나, 지역 이동을 하거나 할때마다 로딩을 해야 하는 경우가 많다. 그리고, 이러한 로딩시간이 길면 길수록 게임에 몰입을 방해하게 된다.

1.4. 로딩에 영향을 미치는 요소

2. 로딩 방법

2.1. 로딩 화면 띄우기

2.2. 심리스(seamless) 방식

로딩 화면을 띄우지 않고 게임 플레이 중간중간 데이터를 미리 로드해서 게임 플레이가 끊기지 않게 하는 방식. 로딩 때문에 끊기는 게임의 템포를 끊기지 않게 해주는 기술이다. 오픈 월드라고 하면 대부분의 사람들이 이 방식으로 알고 있지만 그렇지는 않다.

3. 극악의 로딩으로 유명한 게임

로딩이 길어지는 원인은 주로 과거 게임기의 2배속 시디롬 같은 부족한 성능에서 기인하는 일도 많지만, 개발자의 실수로 이해할 수 없이 긴 로딩 시간을 갖는 게임들도 많이 있다.

진한글자게임은 이하 막장 로딩에 해당하는 게임 목록들. 모두 시간이 너무 많이 걸려서 플레이어를 빡치게 만드는 로딩으로 유명하며 이를 플레이하는 사람들은 미치거나 해탈하거나 둘 중 하나. 흔히들 커피 한잔의 타임 또는 컵라면 한그릇의 여유라고 디스한다.
이하의 목록은 로딩의 문제가 아닌 다른 문제에서 기인한다.

4. 가짜 로딩

길든 짧든 로딩이 없는 소프트웨어란 존재할 수 없고, 이건 개발자가 아니더라도 모두가 아는 상식이다. 그런데 오히려 이러한 점을 활용해서, 로딩 시간을 활용하는 가짜 로딩을 만들기도 한다.

은행 업무와 같이 중요한 용도로 사용하는 어플리케이션이나 게임 등에서 이러한 가짜 로딩을 자주 활용한다. 은행 업무처럼 일반적으로 중요하다 여겨지는 업무를 할 때에는 일반인들이 '뭔가 특별히 더 오래 걸려야 할 것 같은' 느낌을 받기 때문에 로딩이 너무 빠르면 오히려 불안감을 조성한다. 따라서 이미 처리가 끝났음에도 아주 짧은 가짜 로딩을 보여줘 '중요한 일을 처리 중'이라는 이미지를 심어주는 것이다.

게임의 경우는 타 사무용 프로그램보다 더 긴 로딩 시간이 필요하므로 로딩 화면에 아예 '시간을 들여 읽어야 하는' 텍스트를 집어넣는 경우가 많은데, 어떤 개발자는 이런 식으로 게임의 세계관이나 플레이 팁을 소개하는 방식을 적극 활용하기 위해 로딩 시간을 늘린다. 이러한 텍스트는 길어봐야 한두 줄이지만, 이조차도 사람이 읽고 인식하려면 몇 초의 시간은 필요하기 때문에 1초만에 끝나는 로딩이라도 일부러 늦게 탈출시켜서 텍스트 읽는 시간을 부여하는 것이다.

여담으로 가짜 로딩에서 진행 상황을 로딩바로 표현할 때는 막대가 차오르는 속도에 일부러 무작위 계수를 부여해서 난잡하게 차오르게 하는 경우가 많은데, 이는 막대가 균일한 속도로 차오를 때 진짜 로딩인 것처럼 포장하려는 목적이다.


[1] DirectX 12, Vulkan 등 최근에 발표된 게임 API에서는 보조기억장치에 직접 접근이 가능하다.[2] 예를 들어 '플레이스테이션'은 총 메모리가 3.5MB 였고, 2배속 CD-ROM 을 사용했다.[3] PS5엑스박스 시리즈 X부터는 SSD를 쓰기 때문에 로딩이 더 줄어든다.[4] NVMe SSD와 듀얼채널 DDR4 SDRAM의 속도는 10배 이상 차이난다![5] 이 상태시 공룡 모양의 아이콘이 뜨는데, 이 공룡 모양의 아이콘을 누르거나 키보드에서 스페이스를 누르면 그래도 게임 시작이다.[6] 가까워지는 셀은 추가로 로드, 멀어지는 셀은 해제[7] 오픈월드가 아니지만 오버워치도 전투의 페이스를 유지하기 위해 비슷한 방식을 썼다. 게임을 시작할 때 맵은 보이지만 캐릭터가 안 보이는 게 그 이유.[8] 다만 게임을 처음 켜거나 다른 차원에 갈 때는 일반적인 로딩을 한다.[9] 또는 맵 이동과 관련된 조건에 근접하면 프리로드하는 방식을 응용하기도 한다. 이 경우 프리로딩에 필요한 시간을 벌기 위해 약간의 불필요한 행위를 하면서 동시에 프리로딩을 하기도 한다.[10] 이 때에도 제한적인 게임 진행이 가능하다.[11] 대표적인 사례가 폴아웃 시리즈볼트 문이다.[12] 대부분의 로딩 시간을 차지하는 것은 용량이 큰 텍스처와 GUI 및 대량의 텍스트 등이다.[13] 엑박 360의 에뮬레이터인 Xenia를 사용하면 로딩이 그나마 좀 줄어든다.[14] 다만 이는 컴퓨터 성능에 따라서도 다르다. 인텔 i7같은 고성능 CPU로는 로딩시간이 더 빠르고 즉시 온라인으로 들어가도 빠르게 접속되는반면에 셀러론처럼 최악의 성능의 CPU는 로딩시간이 매우 길다.[15] 이유는 휴먼에러. 정확히는 코드 배열에 다 때려 박는 식으로 짠 잘못된 코드 때문에 그랬다. CPU가 그걸 정리한다고 미친듯이 루프를 돌려버리는데 약 20억회 루프를 돌렸다고 한다. 게다가 이로인해 나름 쾌적한 그타 온라인이 되면서 많은 유저들은 "누구보다 코드를 잘 알고있는 락스타가 무려 5,6년 동안 해결되지 않은 문제를 찾아줬는데 1만달러 포상금은 너무 적은것 같고 10만달러를 줘야하지 않냐."는 진지한 반응이 나올 정도였다.