게임 렉 백서 › 일부에게만 생기는 문제
플레이어별 입력 버퍼 크기 Per-player server input buffer (jitter buffer)
원인 ID pt-input-buffer · 주 담당 게임개발팀·서버 개발 · 함께 게임개발팀·클라이언트 개발
그림과 실험이 있는 원본 카드로 열기 →
서버가 사람마다 입력을 조금 모아 두었다가 한 틱에 하나씩 꺼내 쓰면, 다른 사람 눈에는 매끄럽지만 본인 행동이 서버에서 확정되는 시점은 그만큼 늦어집니다.
왜 서버가 느린 사람의 입력을 버퍼에 모아 한 틱에 하나씩 적용 → 그러면 버퍼가 작으면 자주 비어 그 캐릭터가 제자리에 서거나 서버가 마지막 입력으로 추측해 움직이고, 크면 본인 입력이 늦게 확정 → 화면에서는 작으면 남 눈에 멈칫, 크면 본인의 스킬 결과가 늦게 나옴(입력 지연)
증상 뚝뚝 끊김 , 입력 지연
요인 지터
누가 겪나 특정 캐릭터만 이상해 보임, 나만
언제 항상
담당 주 담당 게임개발팀·서버 개발 · 함께 게임개발팀·클라이언트 개발
게임개발팀 할 일 서버: 사람마다 회선 상태에 맞춰 버퍼 크기를 자동 조절, 밀리면 두 개씩 꺼내 따라잡기, 버퍼가 자주 비는 사람의 클라이언트에는 입력을 앞당겨 보내라고 지시. 클라이언트: 서버 지시에 맞춰 입력을 조금 더 앞당겨 보내기(클라이언트 시간 조절).
수치 감각 게임마다 다르지만 보통 1~3틱 분량입니다. VALORANT는 128틱 서버에서 서버 버퍼를 평균 반 프레임(약 4ms)으로 더 짧게 유지합니다. 지터가 큰 사람만 버퍼를 늘리는 적응형이 흔합니다.
그래프에서는 일부만 높음 · 플레이어별 입력 버퍼 길이·빈 횟수
확인할 곳 서버에 플레이어별로 틱마다 입력 버퍼에 남은 입력 수, 버퍼가 비어 마지막 입력으로 추측해 채운 횟수, 입력 도착에서 적용까지 걸린 시간을 남김 이러면 맞음 버퍼가 작은 사람은 빈 횟수가 많고 그 순간 남 화면에서 짧게 멈추며 버퍼가 큰 사람은 입력에서 적용까지 걸린 시간이 버퍼 길이만큼 늘어 있음 이러면 아님 버퍼가 거의 비지 않는데 남 화면에서 뚝뚝 끊김이 보이면 보는 쪽의 보간 문제. 버퍼가 짧은데도 입력 지연이 크면 RTT 자체나 이중 틱 대기 확인 수단 게임 서버·클라이언트의 로그·지표가 필요
출처 Peeking into VALORANT's Netcode Riot Games 서버가 클라이언트 시간 기준을 조정해 입력 대기열을 지연이 최소이면서 고르지 않은 도착을 흡수할 만큼만 유지. 서버 버퍼링 목표는 평균 반 프레임 NetworkTimeSystem class (Netcode for GameObjects 2.5) Unity LocalBufferSec: 서버가 클라이언트 메시지를 버퍼링할 시간. 클라이언트 시간을 앞당겨 메시지가 서버에 더 일찍 도착 NetworkTime and ticks (Netcode for GameObjects 2.5) Unity 회선이 나쁜 플레이어는 버퍼 값을 늘릴 수 있음
함께 보면 좋은 원인
같은 층: 일부에게만 생기는 문제
같은 증상(뚝뚝 끊김)의 다른 층 원인
그림과 실험이 있는 원본 카드 보기