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

Sách trắng lag game › L2 OS và thiết bị phía client

Thiếu bộ nhớ đồ họa (VRAM) VRAM over-commit

ID nguyên nhân co-vram · Phụ trách chính Phát triển client (Đội phát triển game) · Phối hợp Bên ngoài (Bên ngoài)

Mở thẻ gốc có hình minh họa và thí nghiệm →

Nếu tùy chọn đồ họa cần nhiều bộ nhớ hơn bộ nhớ của card đồ họa, OS phải đẩy texture ra bộ nhớ của PC rồi lấy lại, gây giật khựng.

Vì sao Tùy chọn texture cao, đủ loại trang bị và hiệu ứng ở nơi đông người làm đầy bộ nhớ card đồ họa → Dẫn đến OS chuyển texture chưa dùng tới sang bộ nhớ PC, khi cần lại lấy về qua bus PCIe chậm → Trên màn hình Mỗi khi có cảnh mới hoặc nhân vật mới xuất hiện thì khựng, texture mờ một lúc

Triệu chứng
Giật khựng, Đứng hình
Yếu tố
Ngưng trệ
Ai gặp phải
Chỉ mình tôi
Khi nào
Khi đông người, Khi di chuyển hoặc chuyển bản đồ
Phụ trách
Phụ trách chính Phát triển client (Đội phát triển game) · Phối hợp Bên ngoài (Bên ngoài)
Việc cần làm (Đội phát triển game)
Đặt tùy chọn mặc định theo dung lượng bộ nhớ card đồ họa, tự động hạ chất lượng texture khi vượt ngân sách bộ nhớ, đơn giản hóa texture nhân vật ở nơi đông người.
Việc cần làm (Bên ngoài)
Hướng dẫn người chơi hạ tùy chọn texture; nếu mở hai client thì hạ tùy chọn thấp hơn nữa.
Con số tham khảo
Bộ nhớ card đồ họa đọc được hàng trăm GB trong 1 giây, còn bus PCIe nối với bộ nhớ PC chỉ khoảng 16–64 GB trong 1 giây tùy thế hệ, chậm hơn trên mười lần.
Trên đồ thị
Chạm giới hạn rồi đi ngang · Bộ nhớ GPU chuyên dụng, bộ nhớ GPU dùng chung
Chỗ cần xem
Đồ thị bộ nhớ GPU chuyên dụng và bộ nhớ GPU dùng chung ở mục GPU trong tab Performance của Task Manager (có thể thêm cột theo tiến trình ở tab Details), xem cùng frame time của PresentMon
Đúng nếu
trong lúc bộ nhớ GPU chuyên dụng chạm trần và đi ngang còn bộ nhớ GPU dùng chung tăng lên, game khựng liên tục; hạ tùy chọn texture thì hết
Loại trừ nếu
bộ nhớ chuyên dụng còn trống → “Ổ lưu trữ chậm khiến streaming asset không theo kịp” hoặc “Tải đồng bộ trên main thread và biên dịch shader”
Cách kiểm tra
Kiểm tra ở môi trường phía người chơi
Tìm hiểu thêm
Trong mục GPU của Task Manager trên Windows, nếu “Bộ nhớ GPU chuyên dụng” (Dedicated GPU memory) đầy và “Bộ nhớ GPU dùng chung” (Shared GPU memory) tăng lên thì máy đang ở tình trạng này. Mở hai client trên cùng một PC thì đầy nhanh hơn (xem mục “Streaming thất bại do thiếu bộ nhớ hoặc VRAM”).

Nguồn

  1. Residency Microsoft
    Mỗi tiến trình có ngân sách bộ nhớ đồ họa được dùng; vượt quá thì kernel chuyển một phần heap của GPU rời sang bộ nhớ PC (đây là biện pháp cuối cùng, nên khuyến nghị tự quản lý ngân sách)
  2. GPUs in the task manager Microsoft
    Trong Task Manager, bộ nhớ GPU chuyên dụng là VRAM của card đồ họa, bộ nhớ GPU dùng chung là bộ nhớ PC mà GPU và CPU cùng dùng
  3. CUDA C++ Best Practices Guide NVIDIA
    Băng thông bộ nhớ đồ họa (V100: 898 GB/s) lớn hơn nhiều so với PCIe x16 thế hệ 3 (16 GB/s), nên khuyến nghị giảm truyền dữ liệu qua lại với bộ nhớ PC
  4. PresentMon Capture Application (README-CaptureApplication.md) Intel
    Ghi lại thời gian từng khung hình bằng FrameTime (thời gian CPU giữa hai khung hình)

Nguyên nhân nên xem cùng

Cùng tầng: L2 OS và thiết bị phía client

Nguyên nhân ở tầng khác gây cùng triệu chứng (Giật khựng)

Xem thẻ gốc có hình minh họa và thí nghiệm