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
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
ResidencyMicrosoft 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)
GPUs in the task managerMicrosoft 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
CUDA C++ Best Practices GuideNVIDIA 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