In primo luogo, a volte ci sono casi in cui viene rilasciata una patch del driver che potrebbe aumentare le prestazioni o aumentare l'efficienza, per una determinata CPU. Ma ovviamente stai ponendo questa domanda perché non è poi così comune. Tuttavia, ciò che fanno le ottimizzazioni del driver della CPU è simile nel concetto.
Una GPU è un circuito molto complicato. Esiste per scaricare determinate attività che richiedono molto tempo per essere eseguite su una CPU. Ricevono set di dati e istruzioni su cosa fare con questi dati. La GPU deve essere in grado di ordinare i dati in modo gestibile e interpretare le istruzioni per dire cosa fare. Quindi, deve eseguire una serie di operazioni matematiche sui dati. Successivamente, deve riordinare nuovamente i dati e inviare i risultati al sistema operativo al termine. Questa è una descrizione molto semplicistica della pipeline di computer grafica . Esistono più passaggi da eseguire prima che i dati siano pronti per il programma.
Ora, poiché la GPU deve accettare serie di istruzioni e implementare operazioni matematiche molto complicate nell'hardware, ci saranno alcune cose che sono note per funzionare più velocemente o più lentamente attraverso questa pipeline. Parte della scrittura di un driver per un dispositivo è l'interpretazione dei dati e delle istruzioni inviati al dispositivo, traducendolo in modo che il dispositivo possa comprenderlo. Quando un driver lo sta facendo, può prendere decisioni su come inviare i dati al dispositivo in modo che le attività richiedano il minor tempo possibile. Tuttavia, un driver in genere non ha molte informazioni su ciò che il programma sta eseguendo. Tutto ciò che riceve dal programma sono le chiamate API ("disegna una linea", "colora un punto", "ombreggia un triangolo", ecc.). Quindi, le ipotesi che può fare non sono molto buone.
Quando AMD o nVidia rilascia un aggiornamento del driver che contiene miglioramenti delle prestazioni per giochi specifici, ciò significa che il driver rileverà quale gioco chiama l'hardware grafico e ha una serie di ipotesi codificate che sono note su come il gioco è implementato. È possibile che il gioco abbia molte immagini di trama che devono essere rapidamente scambiate dentro e fuori dalla memoria, o che si mescola molto al volo per produrre determinati effetti di luce. Di solito ciò che un gioco farà è implementare piccoli programmi (chiamati "shader") che descrivono come eseguire questi calcoli e verranno inviati alla GPU per essere eseguiti. Se il driver sa come il gioco utilizza l'hardware, può organizzare i dati e scegliere una serie di istruzioni che eseguono l'attività desiderata in modo da aumentare la produttività e l'efficienza.
A volte, tuttavia, dopo che il prodotto è stato spedito, alcuni bug potrebbero essere trovati in alcune parti della GPU. Potrebbe essere abbastanza oscuro da aver perso la convalida durante la progettazione del chip, ma si potrebbe scoprire che provoca un comportamento errato o indesiderabile (o addirittura arresti anomali) in un particolare gioco che lo colpisce. In tal caso il driver rileverà questo stato difettoso e lo aggirerà, scaricando alcuni calcoli sul lato CPU o modificando il modo in cui alimenta i dati alla GPU in modo che non entri in questo stato. Questi, ancora una volta, verranno rilasciati sotto forma di aggiornamenti del driver.
Quindi, in sostanza, non sta cambiando le prestazioni dell'hardware stesso, sta solo cambiando il modo in cui utilizza l'hardware, in modo che possa operare in modo più efficiente e rapido sullo stesso set di dati.