게임최적화

네이글 알고리즘(Nagle’s algorithm) 패핑 패스트 핑 핑업 이런게 도대체 뭘까?

네이글 알고리즘(Nagle’s algorithm) 패스트핑

‘네이글 알고리즘’ 기술을 활용한(정확히는 끄는) 패핑(패스트핑)에 대해 알아보자.

패핑은 오래전에 꽤나 유행했던 마비노기, 아이온 등 RPG 게임에서 설정하게 되면 스킬 사용이 더 빠르게 나가서 사용하게 되었는데 그 인기로 인해 아래와 같은 여러 가지 관련 프로그램이 나왔다.

패핑(패핑1.3), 패스트핑, 패스타핑, 아이벨로시티, 핑업 등 많기도 하네..아무튼 이러한 패핑 프로그램이 인기였다.

이 프로그램들도 결국 네이글 알고리즘을 레지스트리에 설정하는 것으로 레지에 직접 등록을 해도 되고 저런 프로그램을 써도 되고 둘 다 네이글 알고리즘을 끄는 기술이 적용된 것이기에 별 반 차이 없다.

사용하기 편리하게 만든 것뿐(프로그램에 광고를 심거나) 물론 지금도 네이글 알고리즘 영향을 받는 게임 (아이온)에서는 필수 설정이니 레지를 사용하든 프로그램을 사용하든 네이글 알고리즘을 끄도록 하자.

예시로 아이온에서 봉혼석이 꺼졌다 켜졌다 하는 비교 영상을 참고하자.
봉혼석이 더 빨리 켜지고 꺼지는 게 확실히 체감이 된다. (스킬 연계기도 빠르게 나간다)

왼쪽이 패핑 ON, 오른쪽이 패핑 OFF (자체제작)

그러면 네이글 알고리즘이 무엇이고 패핑 설정은 정확히 어떻게 하는 걸까?
먼저 네이글 알고리즘에 대해 알아보자.

네이글 알고리즘(Nagle’s algorithm)?

네이글 알고리즘은 네트워크를 통해 보내야 하는 패킷 수(예로 우리가 스킬을 눌렀을 때 서버에 전송되는 데이터)를 줄여 네트워크 부하를 줄여주는 기술이다. 서버가 작은 크기의 데이터를 계속 보내거나 받게 된다면 부하가 발생하기 때문인데 그래서 서버의 부하를 줄이고자 패킷을 모았다가 좀 쌓이면 그때서야 데이터를 서버에 보내는 기술이 네이글 알고리즘이다.

즉 서버가 부하되지 않게 여러 개의 작은 메시지를 바로 보내지 않고 모아서 한 번에 보내는 방식이다.

그럼 이게 서버에는 좋지만 유저에겐 어떨까? 우리는 키를 눌렀을 때 바로바로 반응해야 하는 빡겜런데..

아래 그림을 보자

왼쪽은 네이글 알고리즘을 킨 경우이고, 오른쪽은 네이글 알고리즘을 끈 경우이다.

어떤 게 더 자잘하게 보이는가?
맞다. 오른쪽이 훨씬 더 세밀하게 패킷을 주고 받는다.

더 쉽게 풀어보자면 우리가 스킬 두 개를 연달아 사용했지만, 이 네이글 알고리즘이란 녀석이 지 마음대로 서버에 부담이 될까 봐 두 번째 스킬까지 모았다가 보내는데, 사용자 관점에선 두 번째 스킬만 사용하게 되는 것이다. (너무 극단적이지만)

즉 왼쪽이 3번 보낼 때 오른쪽은 6번 보내는 것, 그 만큼 그때 그때 패킷을 바로 쏴버리기 때문에 반응이 더 빠르다.

게임 유저들은 이 정도만 알면 되지 않을까 싶다.
그렇다면 네이글 알고리즘을 어떻게 끄는 거고 패핑 프로그램의 원리를 알아보자.

패핑(패스트핑) 레지 설정, 네이글 알고리즘 패핑 설정 하기 (끄기)

  1. 윈도우키 + R 을 눌러 레지스트리 창을 연다.
  2. HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > services > Tcpip > Parameters > Interfaces로 이동
  3. Interfaces 하위에 여러 개의 폴더가 있는데 자신의 IP가 보이는 폴더로 들어가자. 자신의 IP를 보는 방법은 윈도우 + R 실행 후 CMD > ipconfig 엔터 > 그러면 IP V4 옆에 숫자가 뜰 거다. 그 숫자가 있는 폴더로 들어가자. (대부분의 사용자는 나와 비슷하게 192.168 어쩌고로 나올 것인데 공유기 때문)
  4. 하위 폴더에서 마우스 우클릭 > 새로 만들기 > [DWORD (32비트) 값]
    TcpAckFrequency 값 1 (16진수), TCPNoDelay 값 1 (16진수)로 생성한다.
01 – 레지스트리 창 실행
02 – 위 레지스트리 경로로 이동
03 – 자신의 IP를 보는 방법은 윈도우 + R 실행 후 CMD > ipconfig 엔터
04 – TcpAckFrequency 값 1 (16진수), TCPNoDelay 값 1 (16진수)로 생성한다.
TCPNoDelay 값 1 (16진수)
TcpAckFrequency 값 1 (16진수)

두 개 값만 생성하면 끝이다. 이제 재부팅을 하거나 인터넷 재시작을 하면 되는데, 재부팅이 싫으면 제어판 > 네트워크 어댑터 > 이더넷 사용 안 함 했다가 사용함으로 바꾸면 된다.

사실 레지보다 편리한 게 프로그램이다. 그러니까 패핑이나 핑업등 프로그램 써도 똑같다. 편한 거 쓰면 된다.
프로그램이 못 미더우면 레지스트리로 하면 된다.

이 설정을 하고 나서 네트워크 드라이버를 업데이트하거나 네트워크 환경을 바꾸지 않는 이상 영구적으로 적용된다.

뭐 패핑을 쓰면 컴퓨터가 망가진다에서부터 이상한 소문이 많은데 10년 내내 사용한 나에게는 전혀 문제 될 게 없었다.
아이온 할 때도, 배그 할 때도, 발로란트 할 때도, 웹서핑 할때도 아무런 문제가 없었다.

그러니 본인이 하는 게임에서 확실히 효과가 있다면 무조건 키자.

파더기

Recent Posts

파더기 터보키 v1.0 (아이온)

프로그램 소개 파더기 터보키는 아이온에서 반복적인 키 입력을 빠르게 입력해 주는 프로그램입니다. 사용자 친화적인 인터페이스와 안정적인…

24시간 ago

파더기의 원격 PC 게임 최적화 서비스 (유료)

해당 글은 원격 서비스로 PC를 최적화 해드리는 서비스의 홍보 글입니다. 보기 불편하신 분께서는 뒤로 가기를…

1주 ago

게임 밝기 감마 조절 프로그램 (아이온)

안녕하세요 오늘 소개해 드릴 건 제가 직접 제작한 밝기, 감마, RGB 조절 프로그램입니다. 유튜브 댓글로…

1주 ago

LSFG (LOSSLESS SCALING) X4 프레임 생성 모드 업데이트

안녕하세요, 파더기입니다!  오늘은 최근 업데이트된 Lossless Scaling x4 업데이트에 대해 소개해 드리겠습니다. (사실 업데이트 된…

1개월 ago

VXE 신제품 MAD R MAJOR 8K 마우스 리뷰

VXE MAD R MAJOR 8K 마우스 리뷰 안녕하세요 오랜만에 마우스를 구매했습니다. 잠자리 R1, 지슈라, 바이퍼,…

2개월 ago

배틀그라운드 국민옵션 2024 최신 설정으로 최적의 게임 환경 만들기

오늘은 20년 동안 FPS 게임을 해온 아재의 경험을 바탕으로 배틀그라운드 국민옵션 설정을 공유합니다. 1. 기본…

2개월 ago