En primer lugar, a veces hay casos en los que se lanza un parche de controlador que podría aumentar el rendimiento o aumentar la eficiencia para una determinada CPU. Pero obviamente estás haciendo esta pregunta porque simplemente no es tan común. Sin embargo, lo que hacen las optimizaciones del controlador de CPU es similar en concepto.
Una GPU es un circuito muy complicado. Existe para descargar ciertas tareas que toman mucho tiempo en una CPU. Reciben conjuntos de datos e instrucciones sobre qué hacer con estos datos. La GPU debe poder ordenar los datos de manera manejable e interpretar las instrucciones para indicarle qué hacer. Luego, debe realizar una serie de operaciones matemáticas en los datos. Después de eso, debe volver a ordenar los datos y enviar los resultados al sistema operativo cuando esté completo. Esta es una descripción muy simplista de la tubería de gráficos por computadora . Hay varios pasos que se deben tomar antes de que los datos estén listos para el programa.
Ahora, como la GPU debe aceptar conjuntos de instrucciones e implementar operaciones matemáticas muy complicadas en el hardware, habrá ciertas cosas que se sabe que se ejecutan más rápido o más lento a través de esta tubería. Parte de escribir un controlador para un dispositivo es interpretar los datos y las instrucciones enviadas al dispositivo, traduciéndolo para que el dispositivo pueda entenderlo. Cuando un controlador hace esto, puede tomar decisiones sobre cómo enviar los datos al dispositivo para que las tareas tomen el menor tiempo posible. Sin embargo, un controlador generalmente no tiene mucha información sobre lo que está haciendo el programa que está atendiendo. Todo lo que recibe del programa son las llamadas a la API ("dibujar una línea", "colorear un punto", "sombrear un triángulo", etc.). Entonces, las suposiciones que puede hacer no son muy buenas.
Cuando AMD o nVidia publican una actualización de controlador que contiene mejoras de rendimiento para juegos específicos, lo que esto significa es que el controlador detectará qué juego está llamando al hardware de gráficos y tendrá una serie de suposiciones codificadas que se conocen sobre cómo es el juego. implementado. Puede ser que el juego tenga muchas imágenes de textura que deben intercambiarse rápidamente dentro o fuera de la memoria, o que haga una gran combinación de colores sobre la marcha para producir ciertos efectos de iluminación. Por lo general, lo que hará un juego es implementar pequeños programas (llamados "sombreadores") que describen cómo realizar estos cálculos, y se enviarán a la GPU para ejecutarlos. Si el conductor sabe cómo el juego usa el hardware, puede organizar los datos y elegir conjuntos de instrucciones que realicen la tarea deseada de una manera que aumente el rendimiento y la eficiencia.
Sin embargo, a veces, después de que se ha enviado el producto, se pueden encontrar errores en alguna parte de la GPU. Puede ser lo suficientemente oscuro como para haberse perdido en la validación cuando se diseñó el chip, pero se puede encontrar que causa un comportamiento defectuoso o indeseable (o incluso se bloquea) en un juego en particular que lo golpea. En ese caso, el controlador detectará este estado defectuoso y lo solucionará, ya sea descargando algunos cálculos en el lado de la CPU o cambiando la forma en que alimenta los datos a la GPU para que no entre en este estado. Estos, nuevamente, serán lanzados en forma de actualizaciones de controladores.
Básicamente, no está cambiando el rendimiento del hardware en sí, solo está cambiando la forma en que usa el hardware, para que pueda operar de manera más eficiente y rápida en el mismo conjunto de datos.