한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

게임 렉 백서 › L9 서버 게임 프로세스

길찾기 폭주 Pathfinding storms

원인 ID sp-pathfinding · 주 담당 게임개발팀·서버 개발

그림과 실험이 있는 원본 카드로 열기 →

수백 마리 몬스터가 동시에 플레이어를 쫓으며 경로를 계산하면 CPU를 크게 씁니다.

왜 몰이 사냥, 대규모 스폰으로 몬스터가 동시에 추적 → 그러면 몬스터마다 길찾기 계산 → 화면에서는 그 사냥터만 슬로우모션

증상
슬로우모션
요인
정체
누가 겪나
특정 장소·채널
언제
사람이 몰릴 때
담당
주 담당 게임개발팀·서버 개발
게임개발팀 할 일
경로 캐시, 계산 횟수 상한, 여러 틱에 나누기.
그래프에서는
인원·부하를 따라 오름 · 서버 틱 시간, 존별 몬스터 수
확인할 곳
존별로 플레이어를 추적 중인 몬스터 수와 틱 시간. 따로 센 값이 없으면 perf top -p로 게임 프로세스의 함수별 CPU 비중
이러면 맞음
몰이 사냥·대규모 스폰 때 틱 시간이 늘고 길찾기(경로 탐색) 함수가 CPU 시간의 큰 비중을 차지
이러면 아님
몬스터는 적고 플레이어만 많을 때 틱이 늘면 시야 계산이나 브로드캐스트 쪽
확인 수단
게임 서버·클라이언트의 로그·지표가 필요

출처

  1. AI.NavMesh.pathfindingIterationsPerFrame Unity
    길찾기를 프레임마다 정해진 노드 수만큼만 처리해 여러 프레임에 나눔, 경로가 길거나 요청이 한꺼번에 많을 때도 게임이 매끄러움
  2. perf-top(1) — Linux manual page perf
    실행 중인 프로세스(-p)의 CPU 사용 비중을 함수(심볼)별로 실시간 표시

함께 보면 좋은 원인

같은 층: L9 서버 게임 프로세스

같은 증상(슬로우모션)의 다른 층 원인

그림과 실험이 있는 원본 카드 보기