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

게임 렉 백서 › L2 클라이언트 OS·기기

그래픽 메모리(VRAM) 부족 VRAM over-commit

원인 ID co-vram · 주 담당 게임개발팀·클라이언트 개발 · 함께 외부·외부

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

그래픽 옵션이 요구하는 메모리가 그래픽카드 메모리보다 크면, OS가 텍스처를 PC 메모리로 내보냈다가 다시 가져오느라 뚝뚝 끊깁니다.

왜 높은 텍스처 옵션, 사람 많은 곳의 온갖 장비·이펙트로 그래픽카드 메모리가 가득 참 → 그러면 OS가 당장 안 쓰는 텍스처를 PC 메모리로 옮겼다가, 필요할 때 느린 PCIe 버스로 다시 가져옴 → 화면에서는 새 장면이나 새 캐릭터가 보일 때마다 멈칫, 텍스처가 한동안 흐릿함

증상
뚝뚝 끊김, 멈춤
요인
정체
누가 겪나
나만
언제
사람이 몰릴 때, 이동 중·지역 전환 때
담당
주 담당 게임개발팀·클라이언트 개발 · 함께 외부·외부
게임개발팀 할 일
그래픽카드 메모리 크기에 맞춘 옵션 기본값, 메모리 예산을 넘으면 텍스처 품질 자동 낮추기, 사람 많은 곳은 캐릭터 텍스처 간소화.
외부 할 일
유저에게 텍스처 옵션 낮추기 안내, 클라이언트를 두 개 띄우면 옵션을 더 낮추도록 안내.
수치 감각
그래픽카드 메모리는 1초에 수백 GB를 읽지만 PC 메모리와 오가는 PCIe 버스는 세대에 따라 1초에 16~64GB 안팎이라 열 배 넘게 느립니다.
그래프에서는
한도에 닿아 평평해짐 · 전용 GPU 메모리, 공유 GPU 메모리
확인할 곳
작업 관리자 성능 탭 GPU 항목의 전용 GPU 메모리·공유 GPU 메모리 그래프(세부 정보 탭에 프로세스별 열도 추가 가능)를 PresentMon 프레임 시간과 함께 봄
이러면 맞음
전용 GPU 메모리가 한도에 붙어 평평해지고 공유 GPU 메모리가 늘어나는 동안 멈칫이 잦고, 텍스처 옵션을 낮추면 사라짐
이러면 아님
전용 메모리에 여유가 있으면 “저장장치가 느려 에셋 스트리밍이 밀림”이나 “메인 스레드 동기 로딩·셰이더 컴파일”
확인 수단
유저 쪽 환경에서 확인
더 알아보기
윈도우 작업 관리자의 GPU 항목에서 “전용 GPU 메모리”가 꽉 차고 “공유 GPU 메모리”가 늘어나면 이 상태입니다. 같은 PC에 클라이언트를 두 개 띄우면 더 빨리 찹니다(“메모리·VRAM 부족으로 스트리밍 실패” 항목).

출처

  1. Residency Microsoft
    프로세스가 쓸 수 있는 그래픽 메모리 예산이 있고 넘치면 커널이 외장 GPU의 힙 일부를 PC 메모리로 옮김(최후의 수단이라 예산 관리 권장)
  2. GPUs in the task manager Microsoft
    작업 관리자의 전용 GPU 메모리는 그래픽카드의 VRAM, 공유 GPU 메모리는 GPU와 CPU가 함께 쓰는 PC 메모리
  3. CUDA C++ Best Practices Guide NVIDIA
    그래픽 메모리 대역폭(V100 898GB/s)이 PCIe x16 3세대(16GB/s)보다 훨씬 커서 PC 메모리와 오가는 전송을 줄이라고 권장
  4. PresentMon Capture Application (README-CaptureApplication.md) Intel
    FrameTime(프레임 사이 CPU 시간)으로 프레임별 시간을 녹화

함께 보면 좋은 원인

같은 층: L2 클라이언트 OS·기기

같은 증상(뚝뚝 끊김)의 다른 층 원인

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