랙 (통신)
랙(lag, Latency)은 보통 컴퓨터 통신이 일시적으로 지연되는 것을 나타내는 말이다. 하지만 가끔 컴퓨터의 입력장치 등이 일시적으로 응답이 없는 것을 가리키는 말로도 쓰인다. 전문적인 용어로는 패킷이 컴퓨터에서 목적지로 전송된 뒤에 다시 돌아올 때까지 지연되는 시간을 말한다. 한글맞춤법에 따르면 래그라고 써야 하지만, 대부분 '랙'이라고 짧게 쓴다.
개요[편집]
컴퓨터상의 랙, 간단하게 설명하자면 일시적인 지연 현상을 뜻한다. 특히 받은 입력을 처리하여 관련 출력을 낼 때까지 걸리는 랙에 관련할 때 인풋랙이라고도 한다. lag(랙)이라는 단어의 몇 가지 뜻 중에서 '시간 차이'라는 의미를 가져와서 활용하는 용어이다. 서버와 클라이언트 간의 시간 차이, 디바이스 간의 입력과 출력 시간 차이 등 여러 가지 경우에 사용된다. 사실 일반 PC 사용자들 사이에서는 랙이라고 하면, 온라인 게임 혹은 웹서핑 등의 인터넷 환경에서 서버나 클라이언트, 혹은 다른 클라이언트 간에 시간적인 차이가 얼마나 발생하는지에 대해서 언급하는 경우라고 보면 된다. 현재 일반적인 컴퓨터의 경우 어떤 장치들을 어떤 방식으로 연결했든지 간에 동기화를 아무리 잘해도 장치들 간의 미세한 시간 차이는 존재할 수밖에 없으며, 당연히 이 시간 차이가 크면 클수록 문제가 되므로 랙이 있다, 심하다 등으로 표현하게 된다. 컴퓨터의 성능이 프로그램이 요구하는 사항을 따라가지 못하거나, 혹은 하드 디스크 드라이브에서 한 번에 많은 데이터를 읽어올 때 화면이 끊기는 현상 즉, 하드 스왑도 일반적으로 랙이라고 불린다. 이 경우는 흔히 컴랙이라고 불리는데, 컴퓨터를 3~5년마다 한 번씩 바꿔야 하는 주요 원인이 되기도 했으나 2010년대부터 SSD가 대중화되고 나서부턴 줄어드는 경향을 보이고 있다. 사실 컴퓨터의 하드웨어가 뒤떨어져서 컴퓨터의 처리 속도가 게임이 요구하는 수준을 따라가지 못해 생기는 현상이니 랙이라는 단어 자체의 뜻에 부합하기는 하지만, 이러한 의미의 처리 속도 지연은 보통 프리징(Freezing)이라고 한다.
랙이 걸릴 경우 프로그램, 주로 게임에 따라 온갖 진귀한 이상 현상들이 펼쳐지는 경우가 많다. 애초에 랙이 걸리는 모든 상황을 고려해서 예외 처리를 해가면서 프로그래밍을 하기가 매우 힘들기 때문에 예측할 수 없는 버그가 나오게 되는데, 몇몇 온라인 게임들은 이런 랙을 이용한 버그를 악용하여, 일부러 랙을 걸어서 온라인 게임상에서 부당한 방법으로 이익을 얻는 경우도 있다. 각종 온라인 게임에서 어떤 사용자가 랙에 걸리면 주위 사람들이 짜증을 내게 되며, 반응속도가 매우 중요한 대전 액션 게임과 리듬게임은 이게 심해버리면 아무리 게임성이 좋아도 버림받게 된다. 이는 인터넷 브라우저들도 피해갈 수 없는 문제이다. 랙이 자주 유발된다는 이유로 인터넷 브라우저를 갈아타기도 하고, 랙이 유독 잘 걸리는 특정 사이트나 서버는 자연히 사람들이 꺼리게 되기도 한다. 시중에 랙을 해결하기 위한 여러 방안들을 담은 자료들이 블로그나 유튜브 영상 등으로 돌아다니나 사실 잘 해결될 확률이 100%라고 하긴 힘들다. 무선랜 자체를 다른 기기로 갈아야 하는 문제, 혹은 컴퓨터 저사양의 문제 등 하드웨어 자체의 문제라면 제아무리 소프트웨어 쪽을 건드린다 해도 무용지물이기 때문이다.[1]
특징[편집]
발생 원인[편집]
랙의 가장 흔한 원인은 말 그대로 네트워크 지연 때문이다. 온라인 게임은 대부분 네트워크를 전제로 게임이 진행된다. 응당 서버/클라이언트가 있게 되고 이 사이에 통신 속도가 존재한다. 게이머들은 흔히 이를 두고 핑(ping)이라 표현한다. 이 핑이 일정 수준 이상으로 높으면 지연이 발생하고 있다는 것을 직접적으로 말해준다. 지연 속도가 특정 수치 이상이 되면 불일치가 발생한다. 게임 클라이언트에서는 공격 모션이 나왔음에도 실제로 공격 대상에는 피해 수치가 적용되지 않는 것과 같은 상황이 발생하는 것이다. 이게 점점 심해지면 어느 순간 자신도 모르게 멀미가 나오는 것을 느낄 수 있다. 이런 온라인 게임의 네트워크 품질은 비단 자신의 인터넷 회선에만 영향을 받는 것은 아니다. P2P 방식으로 게이머들끼리 네트워크를 형성해서 진행되는 게임의 경우에는 다른 게이머의 네트워크 회선 속도에 자신도 같이 영향을 받는다. 빛의 속도에 근접하면 전혀 다른 세상이 펼쳐지는 것처럼, 핑이 일정 수준 이상으로 높아지면 개발자들이 전혀 예측하지 못했던 새로운 문제들이 발생하기도 한다. 이런 버그들을 악용해서 일부 게이머들은 랜선을 뽑았다 다시 연결하는 태핑이나 특정 패킷을 특정 주소로 무한대로 전송하는 누킹(nuking), 자신의 PC에 랙을 의도적으로 유발하는 랙핵과 같은 방법을 사용해서 추가적인 이득을 얻기도 한다. 랙의 또 다른 요인은 게임 서버에 존재한다. 최근 온라인 게임의 추세는 클라이언트는 뷰어 역할만 하고 게임 서버에서 모든 게임 상태를 모델링 하는 방식으로 진화하고 있다.
이렇게 이루어지는 이유는 해킹을 막기 위해서이다. 예를 들어서 디아블로 3에서는 간단한 조작으로 화면에 표시되는 골드 값을 변경할 수 있을지 몰라도 실제 그 표시되는 데이터로 경매장을 이용할 수는 없는데, 그것과 동일한 이치다. 실제 데이터는 서버에 모두 저장돼 있고 그 값을 토대로 계산이 진행되기 때문이다. 이렇게 서버가 복잡해지다 보니 서버의 상태 이상이 고스란히 랙으로 전달된다. 스스로가 속해 있는 게임 서버의 상태 이상으로 모델링 처리 속도가 지연될 시 그 모든 영향을 그대로 받는다는 말이다. 이런 점들을 본다면 이런 종류의 랙에 대해서 게이머가 할 수 있는 것은 하나도 없다. 그저 게임 개발사에서 서버를 안정화 시키기를 기다리는 수밖에는 없다. 랙을 유발하는 이유 중 한 가지로 컴퓨터 사양이 있다. 컴퓨터 사양이 해당 게임을 구동할 수 있을 정도로 충분히 빠르지 않다면 필연적으로 심각한 랙이 발생한다. 이 경우에는 업그레이드를 해주어야 한다. 물론 게임의 그래픽 옵션 사양을 낮추고, 해상도를 낮추는 방법을 통해서 어느 정도의 가용성을 확보할 수 있기도 하지만 실질적으로 쾌적한 게임을 즐기기 위해서는 컴퓨터 업그레이드가 유일한 답이다.[2] 그리고 랙의 발생 상황에 따라서 상황에 따라서 ‘서버랙’, ‘클라이언트랙’, ‘이동랙’ 등으로 구별하기도 한다.
- 서버랙 : 많은 접속자가 동시에 몰리면서 서버의 연산이 느려져 게임의 주요 정보를 클라이언트로 보내주지 못해서 발생한다. 한 가지 예로 2004년 오픈베타테스트(OBT, Open Beta Test)를 시작했던 월드 오브 워크래프트(WoW, World of Warcraft)는 많은 유저가 한번에 몰리면서 게임 플레이가 힘들 정도로 느려지는 현상이 발생했다.
- 클라이언트랙 : 저사양 PC에서 게임을 플레이할 때 많이 발생한다. 서버와 클라이언트의 통신은 무난하나, 사용자 PC가 게임의 요구하는 처리속도를 따라가지 못해 생기는 현상이다. 엄밀히 말해서 랙으로 구분할 수는 없는 프리징 현상이지만, 게임 이용자들은 이를 랙의 일부로 여기고 있다.
- 이동랙 : 대전액션, FPS 장르에서 볼 수 있는 현상이다. 이는 서버에 보내는 캐릭터의 위치와 자신의 현재 위치가 지연으로 인해 달라지는 현상으로 한두 박자 느리게 동기화되면서 게임의 플레이에 심각한 지장을 초래한다. 대표적으로 SD건담 캡슐파이터, 배틀필드 등의 게임에서 자신은 보이는 상대를 정확히 조준해 공격했지만, 서버에서는 이미 한두 발 앞선 위치로 인식해 조준이 안된 것으로 판정한다. MMORPG(Masive Multi Online Role Playing Game)에서는 상대가 순간 이동하는 것처럼 보이는 현상도 이에 해당한다.[3]
대처 방법[편집]
랙 현상을 막기 위해 가장 좋은 방법은 최신형 컴퓨터를 새로 장만하는 것이다. 최신 CPU, 최신 그래픽 카드를 넣는 방법으로, 가장 확실한 방법이지만 그만큼 비용의 부담도 가장 드는 방법이다. 인텔의 경우 9세대(2020년 2분기에 10세대 나올 예정) CPU를 구매하고, AMD의 경우는 젠 2(2020년 4분기 젠 3 나올 예정)를 구매를 하는 것이다. 그 외 추가적인 부분은 램(RAM) 정도이며, 못해도 8GB를 구매해야 한다. 요즘 권장되는 램 용량은 16GB이며, 램을 구매할 때 오버된 램(튜닝램)을 구매해서 사용하거나 혹은 최신 3200mhz의 순정 램을 구매하면 전보다 렉이 줄어들고 동시에 더 높은 프레임을 볼 수 있다. 다만, 만약 오버를 중점으로 가격이 비싼 삼성 순정 3200MHZ를 선택을 한다면 수율 자체가 좋지 않기 때문에 현재 많이 팔리는 2666과 차이가 거의 없기에 유튜브나 구글 검색으로도 오버 자체를 하지 못하는 경우가 아닌 이상 안 사는 쪽을 권장한다. 램 용량은 보통 기본 8GB이지만, 게임을 한다면 16GB는 무조건 구매를 하는 것이 좋다. 또한 게임을 한 면 SSD에 게임을 설치하고 플레이를 하는 것이 좋다. 윈도우 설치는 무조건 SSD인데, 부팅 속도가 매우 빨라진다. 이때 NVMe M.2버전과 일반 SSD 버전을 선택을 하게 되는데, 서로의 부팅 속도 차이는 크지 않으니 1초라도 더 빠른 로딩 속도를 원하면 NVMe M.2를 사용하면 된다. 만약 구매 후 콘솔 게임(패키지)까지 생각하여 한번 구매 후 다음 콘솔 제품이 나오기 전까지 최대한 오랫동안 사용하고 싶다면 AMD의 젠 2나 올해 나올 젠 3 8코어 CPU에 RDNA 2세대(빅 나비) GPU를 구매하면 된다.[4]
- 기존 컴퓨터 오버
기존의 컴퓨터를 사용하던 사용자들이나 컴퓨터의 지식이 부족한 사람들이 가장 우려하는 방법 중 하나가 바로 오버이다. 오버는 가능하다면 이용하는 편이 유효하겠지만, 실패 시 리스크가 크기 때문에 주의해야 한다. 근래에 들어서는 조립식 컴퓨터를 구매 시 오버를 시행한 후 출고를 해주는 업체도 존재하기에 그쪽 방면에 맡기는 것도 방법 중 하나이다. 기본적으로 오버는 부팅한 후 Delete 키를 눌러서 나오는 바이오스를 통해서 오버를 시도한다. 해당 방법은 각자 차이가 존재하는 편이지만 기본적인 인텔과 AMD의 오버 방식은 같다. 원하는 CPU 클럭을 입력 후 CPU 전원 값을 입력하고 재시작을 시행한다. 램의 경우도 절차는 비슷하게 진행되지만, 램 오버의 경우에는 램 클럭을 올릴 때 램 타이밍도 같이 맞춰야 한다. msi 보드를 기준으로 설명하였지만 다른 보드도 크게 차이가 존재하지 않기 때문에 수동 오버에 관심 있다면 참고하는 게 좋다.
- 인텔(Intel)
- 인텔의 경우는 Z390, Z370과 같은 Z가 붙은 고가의 메인보드(머더보드)가 아니면 오버 자체를 할 수 없다. A 보드나 B 보드의 경우 램 타이밍을 건들어서 오히려 줄일 수는 있으나 이는 일반적인 오버에서 좀 더 심층적인 오버 방식이기 때문에 오버를 배우고자 하는 사람들이나 처음 시도를 하는 사람들에게는 권장하지 않는 편이다. 또한 인텔의 경우 k라는 영문이 붙어 있는 것만 오버가 가능하며, 이는 오버 클럭이 가능한 버전을 따로 판매를 하는 것이 된다. non-k 버전의 경우 k 버전보다는 클럭이 다소 낮은 편이다. 수동 오버가 난해한 사용자들 중에서 9세대 이상의 인텔 CPU를 사용하는 사람들의 경우에는 인텔에서 만들어 낸 오버클럭을 위한 프로그램(1GB의 용량 차지) 자동 오버클럭 "퍼포먼스 맥스마이저"를 사용하는 방법이 있다. 해당 프로그램의 경우 사용 시 자동으로 오버를 시행한다. 수동보다는 못한 오버클럭을 보여주지만, 안정성에 초점이 맞추어져 있기 때문에 안전하게 오버를 할 수 있다. 인텔의 경우 수동 오버를 할 시 기존 오버보다 더 높은 클럭을 볼 수 있는 방법이 있는데 그 방법은 소위 말하는 ‘뚜따’(뚜껑 따기)라는 것을 하는 방법이다. CPU의 뚜껑을 직접 따야 하는 방법으로서 몇 만 원 주고 전문적으로 하는 곳에서 뚜따를 하는 것이 안전한데 해당 방법을 통해서 뚜따를 하면 A/S가 날아가니 고 클럭을 위한 오버를 하고 싶으신 사람들만 하는 것을 권장한다.
- AMD(Advanced Micro Devices)
- AMD의 경우 A320부터 램 오버가 가능하며, B450, 올해 나올 B550과 같은 x50 보드 시리즈의 경우부터 CPU 오버까지 가능하다. 이로 인해 오버를 포함한 가성비로 맞출 경우 현재 AMD가 절대적으로 비용과 성능 쪽에서 우세하다. 라이젠의 경우 인텔과는 달리 모든 CPU에서 오버가 가능하며, 이로 인해 x가 붙은 CPU보다 x가 안 붙은 CPU를 더 선호하는 사람들이 많다. 다만, x 버전과 x가 안 붙은 버전의 경우 오버되는 정도가 서로 다르며, 3600은 3600x보다 성능에서 밀리는 편이다. 다만, 3600과 3600x의 실질적인 프레임 차이는 크지 않아서 가성비로 3600을 사는 사람들이 많다. 수동 오버는 건들지 않는 것이 좋은데, 오버할 수 있는 수치가 너무 적기 때문에 시행하지 않는 것을 권장한다. AMD에서 PBO라는 자동 오버 기능을 만들어 놓았기에 해당 기능을 쓰는 것이 좋다. 이 기능은 CPU 자체에 있으며 해당 기능을 사용하려면 라이젠 마스터라는 프로그램을 설치하여 실행한 후 크리에이터 모드(Creator Mode)라는 곳을 누른 후 프리시전 부스트 오버드라이브(Precision Boost Overdrive)를 클릭, 아래에 있는 신청(Apply)을 누르면 적용이 된다. CPU의 자체의 수율(오버가 더 잘 되는 정도)의 차이와 쿨러의 차이에 따라 오버가 더 잘 되고 안 되는 경우가 나누어지지만 인텔의 맥스마이저 프로그램처럼 자동 오버를 해주기 때문에 다루기가 편리하다. 인텔처럼 뚜껑 따기가 가능하나, 코어 내부에 서멀을 촘촘하게 넣어 놓았거나(저가형 g2200 등) 현 인텔보다 솔더링이 잘 되어 있어서 하는 경우가 드문 편이다. 라이젠은 기본적으로 내장 그래픽 카드가 없기 때문에 단독으로 사용하는 것이 불가능하다(G2200, G3200 같은 경우 제외).
- 램(Ram)
- 램의 경우 오버를 하는 사용자들과 하지 않는 사람들이 나누어지는 편으로, CPU 오버보다는 사용 비율이 좀 더 낮은 편이다. 램은 삼성 램을 사야 하는 이유가 가장 안정적이기도 하지만, 램 오버가 마이크론보다 더 잘 되어서이다. 마이크론의 경우는 정규화된 램에 맞추어서 먼저 생산을 하지만 오버가 잘 안되고, 삼성의 경우는 마이크론보다는 좀 더 후에 생산을 하지만 오버가 더 잘 진행된다. 램 오버의 경우 인텔과 AMD, 양쪽 다 차이는 없다. 램 오버를 고르지 않을 시 좀 더 가격이 나가는 튜닝 램을 구매하는 것도 하나의 방법이다.[4]
- 컴퓨터 설정
- 보안 업데이트 확인
- 우선적으로 윈도우 보안 업데이트가 되고 있는 건 아닌지 확인을 해야 한다. 자동 업데이트가 되지 않게 막아두면 된다고 하는 의견도 있는데, 이는 위험성을 동반한다는 점을 유의하여야 한다. 보안 취약점 때문에 바이러스나 악성코드, 랜섬웨어에 감염이 되는 사례가 너무 많으니 업데이트를 해서 패치를 진행하는 것을 권장한다. 지금 업데이트가 진행이 되고 있다면 다 끝날 때까지 기다리고 중간에 오류가 발생했다면 해결해야 한다. 또 하나 확인해야 되는 중요한 것이 배달 최적화가 끔(off)으로 되어있는지 확인해야 한다. 이는 토렌트와 비슷한 형식을 취하고 있으며, 윈도우에서 보안 업데이트가 있어서 다운로드를 다 받고 설치를 했는데 다른 누군가가 받으려고 할 경우 마이크로소프트에서 받는 게 아니고 스스로를 포함한 받은 사람의 컴퓨터에서 나누어 받게 된다. 이를 P2P 방식이라고 부르는데 이걸 막을 수 있는 방법이 바로 배달 최적화를 끔으로 변경하는 것이다. 갑자기 없던 랙이 생길 경우 이게 켜져 있는지 확인해 보는 것이 좋다. 설정 → 업데이트 및 보안 쪽에 있다. 배달 최적화라는 메뉴가 보이지 않을 시 왼도우 업데이트에서 고급 옵션을 찾아보면 있을 것이다.
- 가상 메모리
- 옛날부터 컴퓨터를 사용해왔던 사용자라면 자세히 알고 있을 사항으로, SSD나 하드디스크 일부를 가상의 램으로 만들어 램 용량을 늘리는 기술이다. 그대로 두는 편이 좋은데 너무 렉이 심하다고 평하는 사용자들은 이를 늘려서 사용하기를 권장한다. 여기서 꼭 확인해야 되는 점으로써 바로 SSD(또는 하드디스크)의 남은 용량이 얼마나 있는지 확인을 먼저 해봐야 한다. 보통 SSD 용량을 꽉 채워서 사용하는 경우는 적은 편으로, 내 컴퓨터에 들어가서 SSD (C:)를 봤는데 용량 표시하는 게 파란색이 아니고 빨간색일 시에는 정리가 필요하다. 혹은 용량이 더 큰 SSD로 교체를 해야 한다.
- 스팀 사용자 유의점
- 스팀 사용자라면 스팀 클라이언트 서비스를 확인해보는 것이 좋다. 이 프로그램이 주로 하는 일이 컴퓨터에 필요한 스팀 내용을 모니터링하고 업데이트하는 일을 하는데 프레임워크 문제로 윈도우 10이 느려지기도 한다. 이때 대처를 위해서, 우선 왼쪽 하단의 돋보기 모양을 클릭해서 '로컬 서비스 보기'를 검색해서 실행을 해준다. 그러면 항목이 나올 텐데 그중에서 스팀 클라이언트 서비스를 찾는다. 찾았다면 마우스 오른쪽 클릭을 하여 속성으로 들어가서, 시작 유형을 자동으로 바꿔주고 중지를 눌러 잠시 멈춘 다음 시작을 다시 눌러 주면 된다. 이는 비로그인 상태일 경우에는 해당되지 않는 사항이다.
- 장치 드라이버 설치 확인
- 최신 그래픽카드를 사용하는 사용자라면 그저 최신 버전으로 업데이트하면 될 일이지만 옛날 그래픽카드를 사용하는 사람이라면 한 번쯤 최신 버전으로 설치해서 테스트해보는 것도 나쁘지 않다. 구형 그래픽카드의 경우 최적의 버전이 있으니 이걸로 설치해야 잘 된다는 경우도 있는데 대개 상황에 따라 결과 나누어지는 편이니 한 번쯤 테스트해보고 안될 경우 다른 걸 찾아봐야 한다.[5]
문제점[편집]
이러한 문제를 포괄하는 랙을 게임사가 방치하는 데에는 여러 가지 이유가 있는데 이는 '회선 문제', '서버 랙', '클라이언트 랙' 등이 존재한다.
- 회선 문제
이 문제에 대하여 게임사에서 대처할 수 있는 사항은 존재하지 않는다. 우리나라의 경우 회선이 아주 좋은 상태지만 해외의 경우에 그렇지 않은 경우도 많다. 업로드/다운로드 트래픽이 제한된 곳, 인터넷인데 인터넷이 아니라 인트라넷인 경우, 심지어는 업데이트 패치를 제대로 받지 못해 수동 패치를 제공해야 하는 경우 등 여러 경우들이 존재한다. 국내에서도 회선 자체가 불량인 경우나 악성코드에 감염돼서 핑이 불안한 경우 등 여러 문제가 있다. 하지만 게이머들은 충분한 기술적인 지식이 없기 때문에 인터넷의 이러한 상태에 대해서 자세하지 못한 편이다. 그저 게임이 되지 않는다고, 핑이 튄다는 반응을 보인다.
- 서버랙
서버랙의 경우는 게임 개발사에서 해결을 해야 하는 문제이다. 또한 어느 정도 분명한 원인을 가지고 있는 문제이기도 하다. 하지만 이것 또한 난해한 문제이다. 왜냐하면 99.98%의 서버 랙 이슈는 사용자가 밀집되고, 게이머가 개발자가 전혀 예측하지 않은 형태로 플레이를 하면서 발생하기 때문이다. 라이브 환경에서만 문제가 발생하기 때문에 해결이 쉽지 않다. 더욱이 요즘 게임 서버는 단순히 게임 서버 하나만이 아니라 상상할 수 없을 정도로 복잡한 구조로 다양한 서버들이 엮여 있기 때문에 랙이 발생해도 도대체 어떤 부분에서 무엇 때문에 지연이 되는지 찾는 일이 매우 어렵다. 이 문제가 극대화되는 마지막 이유는 게임이 일단 상용화에 들어가고 나면 게임 개발자가 멋대로 변경할 수 있는 것들이 극도로 제한된다는 점이다. 즉, 거의 대부분의 경우에 심각한 이슈가 아니라면 서버 개발자는 이러지도 저러지도 못하는 상황에 처할 수밖에 없다. 그래서 CBT를 하고 OBT를 하는데, 이마저도 최근 환경에는 아주 짧게 가져가는 추세이다. 그래서 이런 이슈가 더 많이 부각되기도 하는 것이다.
- 클라이언트랙
이는 기본적으로 클라이언트 리소스가 크기가 정해지는 순간 개발자의 역량으로 할 수 있는 일은 상당히 제한된다. 근래의 게임은 워낙 규모가 크기도 하고, 그런 규모만큼이나 외부 라이브러리를 많이 사용하기 때문이다. 개발자의 노력 여하로 최적화를 시키기에는 난해하는 것이다. 클라이언트 랙으로 사용자들이 불평을 하는 이유는 다른 곳에 있다. 바로 최소 사양과 권장 사양이다. 대부분의 게임사에서 권장 사양을 최소 사양으로 공지하는 경우가 많다. 그렇다 보니 게이머들은 그게 최저 권장 사양이라 여기고 PC는 권장 사양보다 좋은데 랙이 발생한다고 불평을 하는 것이다. 사실 거의 대부분의 경우에 권장 사양은 실질적인 의미의 최소 사양이라고 생각하는 편이 대처하기 편하다.
게임 등에서 랙이 개선되지 않는 본질적인 이유는 다른 부분에 있다. 바로 게임 개발자, 운영자, QA, 서드파티 제품 개발자, 운영자 모두 랙을 모른다는 것이다. 거의 대부분의 경우에 그 모든 사람들은 게이머가 말하는 랙을 전혀 이해도 하지 못한다. 왜냐하면 서로 체감하는 시간의 기준이 다르기 때문이다. 게이머들은 상상하는 것보다 훨씬 더 민감하다는 의미이다. 일반 게이머 중에서도 잘하는 게이머들은 아주 마이크로한 부분에 대해서도 굉장히 민감하게 반응한다. FPS 게임이라면 총기를 교환하는 속도, 탄환이 발사되는 속도, 줌 속도, MMO 게임에서는 특정 기술이 발동하는 모션의 속도, 자신이 설치한 구조물들이 활성화되는 속도 등등 전혀 게임을 잘하는 사람이 아니라면 알 수 없는 부분에 대해서 불평을 한다. 이게 어려운 점이다. 왜냐하면 게임을 그 정도로 잘하지 않고서는 아무리 대처하려 하더라도 그 속도의 차이를 이해할 수 없기 때문이다. QA 팀에서 몇 차례에 걸쳐 랙 테스트를 해도 문제가 없다고 하는 이유가 바로 여기에 있다. QA 팀에는 실제 유저가 말하는 랙을 체감할 수 있을 만큼 그 게임을 잘하는 플레이어가 없기 때문이다. QA 팀에서 봤을 때는 총기 교체 속도가 원래만큼이나 충분히 빠르기 때문이다. 이러한 점들을 보완하기 위해서 게임 관련 서드파티 업체들은 항상 채용할 때 지원자가 게임 잘하는지, 좋아하는 온라인 게임은 있는지를 확인한다. 실제로 그러한 게임을 잘하는 직원 같은 경우 다른 직원보다 해당 분야의 게임에 대한 랙이나 핵을 찾는데 훨씬 더 뛰어난 역량을 보여준다. 실제로 게임사나 서드파티나 랙이란 문제에 대해서 진지한 접근을 하고 싶다면 랙을 이해할 수 있을 만큼 뛰어난 게이머를 채용해야 한다. 그렇지 않고서는 아무리 테스트를 해봐야 변함없는 실정이다.[2]
스터터링[편집]
스터터링(Stuttering)은 일시적 랙으로 인해 게임이 버벅거리는 현상을 주로 지칭한다. 특히 오픈 월드 게임에서 프리 로드할 데이터가 HDD에 있는 경우 잘 발생한다. 심할 경우 프리징(Freezing)이라고 하기도 한다. 물론 랙과 프리징은 엄밀히 구별되지는 않는 유의어 관계이기 때문에 스터터링/프리징이라는 말만으로는 정확히 어느 정도 심한지 알 수 없다. 따라서, 객관적 증거가 필요한 상황이라면 정확한 측정을 해보는 것이 좋다. 실시간 평균 프레임 측정으로는 잘 잡히지 않는 미세한 랙이 반복되는 현상을 따로 마이크로스터터링이라고도 한다. 엔비디아(NVIDIA)가 이걸 이용해서 경쟁사를 곤경에 빠뜨린 적도 있다. 이후부터 이를 확인하기 위해 평균 프레임과 1% Low를 비교하는 방식을 주로 사용한다. 여기서 1% Low는 가장 높은 프레임부터 낮은 프레임까지 순서대로 정렬 후 최하위에서 딱 1%에 해당하는 값을 쓰는 방식이다. 근본적으로 중앙값과 같은 개념이지만 중앙(백분위 50%)이 아니라 하위 특정 위치(백분위 99%)를 사용한다는 점만 다르다. 따라서 평균값 대신 중앙값을 쓰는 경우가 왜 있는지를 알아야 1% Low의 의미를 더 정확히 알 수 있다.
1% Low는 상위 99%이기 때문에 99th 프레임이라고 쓰기도 하며, 0.1% Low도 같이 보여주는 곳도 있다. 초기엔 평균/최저/최고 프레임을 표기하는 방식이 주류였으나, 최저/최고 프레임은 단 한 프레임의 측정치라는 특성상 측정 오차가 심하게 날 수 있어서 처음부터 큰 의미를 부여받진 못했다. 그나마 최고 프레임은 사람의 체감 성능과 관계도 거의 없는 편이다. 그래서 엔비디아가 정확한 측정 툴인 FCAT(Frame Capture Analysis Tool)를 개발하여 마이크로스터터링 폭로 사건을 일으켰으나, 2 PC 녹화를 사후 분석하는 방식이라 비용상 대중화되지 못했다. 결국 효율적이면서도 신뢰도가 괜찮은 마이크로스터터링 분석 방식을 찾다 보니, 백분위수(percentile) 분석을 거쳐서 대세로 자리 잡은 방식이 1% Low이고, 더 민감하게 측정을 원할 경우 쓰는 게 0.1% Low인 것이다. 다만, 드물게 특이한 값(4% Low, 0.5% Low 등)을 쓰는 경우도 있다. 백분위수 및 1%, 0.1% Low는 편리하고 효율적이나, 완벽하진 않다. 단점은 벤치 구간을 너무 길게 잡으면 프레임이 안 나오는 구간에서 나온 스터터링 프레임들이 집계 대부분을 차지하게 되어서 나머지 구간 성능을 알 수 없게 된다는 점이다. 그리고 맵을 열거나 로딩이 나오는 구간이 들어가 버리면 해당 부분에서 체감 성능과 관계없는 스터터링 프레임들이 집계 대부분을 차지해서 이상하게 낮은 값이 나오게 된다. 따라서 해당 방법으로 마이크로스터터링을 정확히 측정하려면, 측정할 구간을 정확히 정하고 체감 성능과 상관없는 동작을 피해야 된다. 특히 맵이나 메뉴를 연다거나, 전체 화면 로딩 스크린이 나오면 안 된다.[1]
각주[편집]
- ↑ 1.0 1.1 랙(컴퓨터) 나무위키 - https://namu.wiki/w/%EB%9E%99(%EC%BB%B4%ED%93%A8%ED%84%B0)
- ↑ 2.0 2.1 codewiz, 〈게임 보안: 랙에 관한 모든 것〉, 《인벤》, 2012-07-06
- ↑ 랙 지식백과 - https://terms.naver.com/entry.nhn?docId=2028658&cid=42914&categoryId=42915
- ↑ 4.0 4.1 Flugel, 〈게임 렉 줄이는 방법(최적화) 총 정리.〉, 《지니야》, 2020-03-06
- ↑ 예스컴데이터, 〈윈도우10 게임 렉 줄이기〉, 《네이버 블로그》, 2019-01-26
참고자료[편집]
- 랙 위키백과 - https://ko.wikipedia.org/wiki/%EB%9E%99
- 랙(컴퓨터) 나무위키 - https://namu.wiki/w/%EB%9E%99(%EC%BB%B4%ED%93%A8%ED%84%B0)
- 랙 지식백과 - https://terms.naver.com/entry.nhn?docId=2028658&cid=42914&categoryId=42915
- codewiz, 〈게임 보안: 랙에 관한 모든 것〉, 《지니야》, 2012-07-06
- 예스컴데이터, 〈윈도우10 게임 렉 줄이기〉, 《네이버 블로그》, 2019-01-26
- Flugel, 〈게임 렉 줄이는 방법(최적화) 총 정리.〉, 《지니야》, 2020-03-06
같이 보기[편집]