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

Libro blanco del lag en juegos › L2 SO y dispositivo del cliente

Falta de memoria gráfica (VRAM) VRAM over-commit

ID de la causa co-vram · Responsable principal Desarrollo de cliente (Equipo de desarrollo) · También Externo (Externo)

Abrir la ficha interactiva con gráficos y simulaciones →

Si las opciones gráficas piden más memoria de la que tiene la tarjeta gráfica, el SO saca texturas a la RAM del sistema y las vuelve a traer, y hay tirones.

Por qué Las texturas en calidad alta o la enorme variedad de equipamiento y efectos de un sitio con mucha gente llenan la memoria de la tarjeta gráfica → Efecto El SO pasa a la RAM del sistema las texturas que no se usan en ese momento y, cuando hacen falta, las vuelve a traer por el bus PCIe, que es lento → En pantalla Un tirón cada vez que aparece una escena o un personaje nuevo, y texturas borrosas durante un rato

Síntomas
Tirones, Congelamiento
Factores
Detención
A quién afecta
Solo yo
Cuándo
Cuando se junta mucha gente, Al moverse o cambiar de zona
Responsable
Responsable principal Desarrollo de cliente (Equipo de desarrollo) · También Externo (Externo)
Tareas (Equipo de desarrollo)
Ajustar las opciones predeterminadas a la memoria de la tarjeta gráfica, bajar automáticamente la calidad de texturas al superar el presupuesto de memoria, simplificar las texturas de los personajes en sitios con mucha gente.
Tareas (Externo)
Indicar a los jugadores que bajen la calidad de texturas, y que la bajen aún más si abren dos clientes.
Cifras de referencia
La memoria de la tarjeta gráfica lee cientos de GB por segundo, pero el bus PCIe que la comunica con la RAM del sistema ronda los 16–64 GB por segundo según la generación: más de diez veces más lento.
En el gráfico
Topa con el límite · Memoria de GPU dedicada, memoria de GPU compartida
Dónde mirar
Ver los gráficos de memoria de GPU dedicada y compartida del apartado GPU en la pestaña Rendimiento del Administrador de tareas (en la pestaña Detalles se pueden añadir columnas por proceso) junto con el tiempo de frame de PresentMon
Se confirma si
Mientras la memoria de GPU dedicada se aplana contra el límite y la compartida aumenta, los tirones son frecuentes, y desaparecen al bajar la calidad de texturas
Se descarta si
Si queda memoria dedicada libre: “Almacenamiento lento que retrasa el streaming de assets” o “Carga síncrona y compilación de shaders en el hilo principal”
Se verifica con
En el entorno del jugador
Para saber más
Si en el apartado GPU del Administrador de tareas de Windows la “Memoria de GPU dedicada” está llena y la “Memoria de GPU compartida” aumenta, estás en esta situación. Con dos clientes abiertos en la misma computadora se llena antes (ver “Fallo de streaming por falta de memoria o VRAM”).

Fuentes

  1. Residency Microsoft
    Cada proceso tiene un presupuesto de memoria gráfica; si lo supera, el kernel pasa a la RAM del sistema parte de los heaps de la GPU dedicada (es el último recurso, por eso se recomienda gestionar el presupuesto)
  2. GPUs in the task manager Microsoft
    En el Administrador de tareas, la memoria de GPU dedicada es la VRAM de la tarjeta gráfica, y la memoria de GPU compartida es la RAM del sistema, que usan a la vez la GPU y la CPU
  3. CUDA C++ Best Practices Guide NVIDIA
    El ancho de banda de la memoria gráfica (898 GB/s en una V100) es muy superior al de PCIe x16 de 3.ª generación (16 GB/s), por lo que se recomienda reducir las transferencias con la RAM del sistema
  4. PresentMon Capture Application (README-CaptureApplication.md) Intel
    Graba el tiempo de cada frame con FrameTime (tiempo de CPU entre frames)

Ver también

Misma capa: L2 SO y dispositivo del cliente

Causas de otras capas con el mismo síntoma (Tirones)

Ver la ficha interactiva con gráficos y simulaciones