Esta característica de Windows logra más FPS en tu GPU NVIDIA o AMD

Esta característica de Windows logra más FPS en tu GPU NVIDIA o AMD

Javier López

Normalmente cuando hablamos de CPUs gaming siempre hacemos referencia al hecho de que a menor carga gráfica más dependiente se vuelve el procesador en el rendimiento general del juego. El problema es que mucha gente no sabe los detalles que encierra esto, ya que las CPU de gama más baja sufren más este hecho. Microsoft ha querido tomar cartas en el asunto y ha presentado la primera solución a este problema, la cual ha llamado como Hardware Accelerated GPU Scheduling, pero ¿qué es lo que hace?

Como siempre pasa en este tipo de cosas, para entender la solución primero hay que entender bien el problema y todo lo que lo rodea. En primer lugar y tras la llegada de Windows Display Driver Model 1.0 o WDDM 1.0 se introdujo una mejora muy notable llamada como programación de la GPU en Windows.

Esta característica creaba una cola global donde marcaba el paso de lo que se tenía que enviar a la GPU y lo que se tenía que ejecutar, pero sobre todo, cuándo debía hacerse. Anteriormente a WDDM la GPU recibía la carga de trabajo sin orden, sin respetar turno básicamente, por lo que todo el trabajo acabado por la CPU era muy poco óptimo. Con el paso del tiempo este sistema no fue suficiente y fue cuando Microsoft introdujo WDDM, mejorando con ello el rendimiento.

Quedaban más problemas por solucionar como la latencia

GPU Navi Radeon Pro 5600M

No solamente se necesita un orden de envío y ejecución de cada tarea, el programador de GPU coordina, prioriza y programa el trabajo en un segundo plano a modo de subproceso en la CPU, pero esto genera un problema muy claro de latencia que hasta ahora no podía ser resuelto de forma óptima.

Lo ideal es que mientras la GPU renderiza un frame, la CPU ya tenga listo y trabajado el siguiente, justo para que la GPU lo tenga antes de finalizar dicho renderizado, pero esto no es así en la gran mayoría de casos, porque cada CPU tiene una potencia distinta y unas latencias internas diferentes.

Cuando bajamos la resolución a un juego, las cargas de trabajo son más livianas lo que favorece en teoría a las CPUs menos potentes, pero no es así, puesto que se genera una carga mucho más alta en el WDDM que impide a la CPU suministrar la información trabajada a tiempo y con ello limita la tasa de frames renderizados por la GPU, ya que esta trabaja con mayor soltura pero no recibe la información a tiempo para generar todo el rendimiento que puede ofrecer.

La opción que se sacaron de la manga tanto NVIDIA como AMD es un parche que no tiene demasiado tiempo, pero no es una solución real, ya que lo que se pretendía era generar múltiples frame trabajados en la CPU y en lotes, mandándoselos a la GPU de una vez y manteniendo ese mismo número de frames en el búfer, de manera que hubiese ese tiempo entre lo que se preparaba por la CPU y lo que se terminaba enviando a la GPU.

El búfer siempre tendría ciertos frames para trabajar y la CPU podía respirar con ese pequeño tiempo. El problema es que esto genera un inconveniente que muchos no están dispuestos a asumir: un lag entre nuestras acciones en el juego y la representación de esas acciones en pantalla, donde además esto es totalmente aleatorio, puesto que depende de cuan cargada esté la CPU en cada momento. Es decir, podemos tener la sensación de inmediatez en un momento y al siguiente la sensación de que vamos tarde en el juego.

Ni que decir tiene que para los usuarios muy exigentes que juegan a altas tasas de frames con parámetros en LOW no quieren ni oír hablar de esto, puesto que la ventaja competitiva que tienen la pierden de un plumazo.

A este efecto se le denomina como paralelismo de ejecución CPU-GPU, y como decimos, no es del agrado de todos, puesto que se consigue la mejor tasa de FPS, pero una sensación contraproducente al jugar.

Hardware Accelerated GPU Scheduling

Con la llegada de Windows 10 may 2020, Microsoft ha presentado un nuevo planificador de GPU como una opción para el usuario, la cual viene desactivada de serie. Los cambios son sustanciales en este nuevo planificador, ya que aunque Windows continúa controlando dicha priorización y decide que es lo que tiene prioridad y lo que no, así como su contexto, ahora se descarga al procesador de las altas cargas para que no tenga que decidir entre reducir la latencia o reducir la carga en sus núcleos.

Pero, ¿cómo lo hace? Descargando a la CPU y pasando la carga directamente a la GPU cuando sea preciso. Básicamente lo que se busca es cambiar la programación de software de la CPU a la programación de hardware de la GPU, por lo que esto requiere que toda la industria esté a una con dicho cambio.

Por lo tanto, se necesita un hardware específico, un driver específico y un soporte de Windows específico para que funcione, sin olvidar que los juegos que vayan a salir a partir de ahora también deben de poder soportar esta función del programador.

Por lo tanto y resumiendo, necesitaremos una GPU NVIDIA Pascal o Turing, o bien una GPU AMD RDNA, así como el driver correspondiente y al menos Windows 10 2004 may 2020 para que la opción nos aparezca en configuración.

Dicha opción se encuentra en Configuración -> Sistema -> Pantalla -> Configuración de gráficos y aunque en NVIDIA ya puede seleccionarse, parece que AMD aun dando soporte todavía no consigue mostrarla, así que habrá que esperar a los nuevos Adrenalin 20.5.X.

En cualquier caso, al ser una cambio tan sustancial esta Hardware Accelerated GPU Scheduling llega desactivada de serie y si decidimos activarla, podría mejorar el rendimiento o no, dependerá del juego en cuestión. Los primeros datos indican que puede haber una leve mejora en escenarios poco cargados, justamente donde sufren más las CPUs más lentas, así que es posible que los equipos menos potentes aumenten su rendimiento.