Pertama, kadang-kadang ada kasus di mana patch driver dilepaskan yang dapat meningkatkan kinerja, atau meningkatkan efisiensi, untuk CPU tertentu. Tapi jelas Anda menanyakan pertanyaan ini karena itu tidak umum. Apa yang dilakukan oleh pengoptimalan driver CPU serupa dalam konsep.
GPU adalah sirkuit yang sangat rumit. Itu ada untuk membongkar tugas-tugas tertentu yang membutuhkan waktu sangat lama untuk dilakukan pada CPU. Mereka menerima set data, dan instruksi tentang apa yang harus dilakukan dengan data ini. GPU harus dapat memesan data dengan cara yang dapat dikelola dan menginterpretasikan instruksi untuk menentukan apa yang harus dilakukan. Kemudian, ia harus melakukan serangkaian operasi matematika pada data. Setelah itu, harus menyusun ulang data lagi dan mengirim hasilnya kembali ke sistem operasi setelah selesai. Ini adalah deskripsi yang sangat sederhana dari pipa grafis komputer . Ada beberapa langkah yang harus diambil sebelum data siap untuk program.
Sekarang, karena GPU harus menerima serangkaian instruksi dan mengimplementasikan operasi matematika yang sangat rumit dalam perangkat keras, akan ada hal-hal tertentu yang diketahui berjalan lebih cepat atau lebih lambat melalui pipa ini. Bagian dari menulis driver untuk perangkat adalah mengartikan data dan instruksi yang dikirim ke perangkat, menerjemahkannya sehingga perangkat dapat memahaminya. Ketika seorang pengemudi melakukan ini, ia dapat membuat keputusan tentang bagaimana mengirim data ke perangkat sehingga tugas-tugas akan mengambil waktu sesingkat mungkin. Namun, seorang pengemudi umumnya tidak memiliki banyak informasi tentang apa yang sedang dilakukan oleh program itu. Semua yang diterima dari program adalah panggilan API ("draw a line", "colour a point", "shade a triangle", dll). Jadi, asumsi yang dibuatnya tidak terlalu bagus.
Ketika AMD atau nVidia merilis pembaruan driver yang berisi peningkatan kinerja untuk game tertentu, artinya ini adalah bahwa driver akan mendeteksi game apa yang disebut perangkat keras grafis, dan memiliki serangkaian asumsi hard-coded yang diketahui tentang bagaimana gamenya. diimplementasikan. Mungkin saja gim ini memiliki banyak gambar tekstur yang perlu dengan cepat ditukar masuk dan keluar dari memori, atau melakukan banyak pencampuran warna dengan cepat untuk menghasilkan efek pencahayaan tertentu. Biasanya yang akan dilakukan gim adalah mengimplementasikan program kecil (disebut "shaders") yang menjelaskan cara melakukan perhitungan ini, dan itu akan dikirim ke GPU untuk dieksekusi. Jika pengemudi tahu bagaimana permainan menggunakan perangkat keras, itu dapat mengatur data dan memilih set instruksi yang melakukan tugas yang diinginkan dengan cara yang meningkatkan throughput dan efisiensi.
Namun, kadang-kadang, setelah produk dikirim, bug mungkin ditemukan di beberapa bagian GPU. Mungkin cukup jelas untuk dilewatkan dalam validasi ketika chip sedang dirancang, tetapi mungkin ditemukan bahwa hal itu menyebabkan beberapa perilaku yang tidak diinginkan atau buggy (atau bahkan crash) dalam permainan tertentu yang menabraknya. Dalam hal ini pengemudi akan mendeteksi keadaan buggy ini dan mengatasinya, baik dengan melepas beberapa perhitungan ke sisi CPU atau mengubah cara pengumpanan data ke GPU sehingga tidak memasuki keadaan ini. Ini, sekali lagi, akan dirilis dalam bentuk pembaruan driver.
Jadi pada dasarnya, itu tidak mengubah kinerja perangkat keras itu sendiri, itu hanya mengubah cara menggunakan perangkat keras, sehingga dapat beroperasi lebih efisien dan cepat pada set data yang sama.