Una respuesta TL; DR es que la GPU toma toda la RAM y la administra, siempre. A nivel de sistema operativo, el servidor de ventanas decide qué es visible y el núcleo programa cualquier solicitud de activos de GPU.
Entonces, usted elige qué programas se ejecutan y envían sus comandos al controlador y luego obtiene una cantidad variable de trabajo entre los eventos de vsync cuando se actualiza la pantalla.
Podemos controlar las frecuencias de actualización externas/las especificaciones de píxeles de las pantallas adjuntas y la cantidad de pantallas conectadas.
Si está desarrollando una aplicación o simplemente tiene curiosidad, puede usar Instruments en Xcode para inspeccionar con precisión lo que se hace en el lado de la CPU y las llamadas a la GPU usando metal en este ejemplo a continuación:
Le muestra las llamadas de la CPU que luego se transmiten a las llamadas de la aplicación Metal que luego llaman al controlador de gráficos, los cuales realizan pases de renderizado. Este gráfico es el resultado de una ventana a http://www.decisionproblem.com/paperclips/index2.html en Safari en High Sierra más adelante en el juego cuando la pantalla está ocupada constantemente. El área de color es de aproximadamente 75 ms en la primera imagen y si hace zoom a 3 ms más o menos, la actividad de la CPU con la R en un círculo son aproximadamente 15 rastros de pila cada uno para que pueda inspeccionar el usuario más pesado del tiempo en ese momento. Esa es la imagen inferior:
Evan a este nivel de detalle, medir lo que está usando VRAM ni siquiera se considera algo que valga la pena medir, ya que la restricción que importa es el tiempo de renderizado y la VRAM es lo que es, por lo que reduce lo que carga en la VRAM para obtener los renderizados. necesita entre eventos vsync para que la velocidad de fotogramas esté donde usted quiere que esté (como programador o como alguien que compara un programa).
nvidia-smi
comando. Y en Windows GPU-Z le dará un total de memoria utilizada (y no se suma). Así que tal vez podría ser posible en Mac. Y como dijo @iAdjunct, sería una métrica muy útil al igual que lo es para la RAM de la CPU.
bmike
Dan
bmike
ranvel