Il semble que les deux grands fabricants de GPU publient constamment des pilotes mis à jour qui ont de petites augmentations de performances ici et là. Quand ils sont pour le même jeu, je parie que cela s'additionne avec le temps.
Dans cet esprit, pourquoi n'avons-nous jamais entendu parler de pilotes de processeur AMD ou Intel pour une certaine application ou version de Windows ou quelque chose?
Réponses:
Premièrement, il existe parfois des cas où un correctif de pilote est publié qui peut améliorer les performances ou augmenter l'efficacité d'un certain processeur. Mais évidemment, vous posez cette question parce que ce n'est tout simplement pas si courant. Cependant, ce que font les optimisations du pilote CPU est similaire dans le concept.
Un GPU est un circuit très compliqué. Il existe pour décharger certaines tâches qui prennent très longtemps à faire sur un CPU. Ils reçoivent des ensembles de données et des instructions sur ce qu'il faut faire de ces données. Le GPU doit être en mesure de classer les données de manière gérable et d'interpréter les instructions pour lui dire quoi faire. Ensuite, il doit effectuer une série d'opérations mathématiques sur les données. Après cela, il doit à nouveau réorganiser les données et renvoyer les résultats au système d'exploitation une fois terminé. Il s'agit d'une description très simpliste du pipeline d'infographie . Plusieurs étapes doivent être effectuées avant que les données ne soient prêtes pour le programme.
Maintenant, comme le GPU doit accepter des ensembles d'instructions et implémenter des opérations mathématiques très compliquées dans le matériel, certaines choses sont connues pour fonctionner plus rapidement ou plus lentement dans ce pipeline. Une partie de l'écriture d'un pilote pour un périphérique consiste à interpréter les données et les instructions envoyées au périphérique, à les traduire pour que le périphérique puisse les comprendre. Lorsqu'un pilote effectue cette opération, il peut prendre des décisions sur la façon d'envoyer les données à l'appareil afin que les tâches prennent le moins de temps possible. Cependant, un pilote n'a généralement pas beaucoup d'informations sur ce que fait le programme qu'il dessert. Tout ce qu'il reçoit du programme sont les appels d'API ("dessiner une ligne", "colorier un point", "ombrer un triangle", etc.). Ainsi, les hypothèses qu'il peut faire ne sont pas très bonnes.
Quand AMD ou nVidia publie une mise à jour du pilote qui contient des améliorations de performances pour des jeux spécifiques, cela signifie que le pilote détectera quel jeu appelle le matériel graphique et aura une série d'hypothèses codées en dur qui sont connues sur la façon dont le jeu est mis en œuvre. Il se peut que le jeu ait beaucoup d'images de texture qui doivent être rapidement échangées dans et hors de la mémoire, ou qu'il mélange beaucoup de couleurs à la volée pour produire certains effets d'éclairage. Habituellement, un jeu implémentera de petits programmes (appelés "shaders") qui décrivent comment effectuer ces calculs, et il sera envoyé au GPU pour exécution. Si le pilote sait comment le jeu utilise le matériel, il peut organiser les données et choisir des ensembles d'instructions qui exécutent la tâche souhaitée d'une manière qui augmente le débit et l'efficacité.
Parfois, cependant, une fois le produit expédié, des bogues peuvent être détectés dans une partie du processeur graphique. Il peut être suffisamment obscur pour avoir été manqué lors de la validation lors de la conception de la puce, mais il peut être constaté qu'il provoque un buggy ou un comportement indésirable (ou même des plantages) dans un jeu particulier qui le frappe. Dans ce cas, le pilote détectera cet état de bogue et le contournera, soit en déchargeant certains calculs du côté du processeur ou en modifiant la façon dont il alimente les données vers le GPU afin qu'il n'entre pas dans cet état. Ceux-ci, encore une fois, seront publiés sous forme de mises à jour de pilotes.
Donc, fondamentalement, cela ne modifie pas les performances du matériel lui-même, il modifie simplement la façon dont il utilise le matériel, afin qu'il puisse fonctionner plus efficacement et plus rapidement sur le même ensemble de données.
la source
Les "pilotes CPU" existent rarement, et certainement pas en tant que modules chargeables. Le "pilote CPU" occasionnel serait nécessaire pour certaines variations du contrôle multicœur ou de la gestion des interruptions (par exemple, AMD dual-cores avait besoin d'un pilote WinXP pour une utilisation complète). Sinon, la plupart des OS sont configurés et construits pour accéder directement au CPU. Si un problème apparaît et est grave, le code du noyau est corrigé et une mise à jour du noyau est publiée.
Les GPU ne sont plus seulement des périphériques; ils sont devenus des co-processeurs. Le «pilote GPU» ne fournit pas seulement un accès aux périphériques, il inclut des algorithmes de traitement (c'est-à-dire des sous-programmes graphiques) pour le GPU intégré au pilote. La taille de ces "pilotes" est un cadeau / indice. Ce sont ces algorithmes / sous-programmes qui sont améliorés.
la source
Ce ne sont pas seulement les pilotes, c'est le GPU lui-même. Un GPU est spécialisé dans divers types de calculs (par exemple, FFT) et de manipulation de mémoire. Il peut fonctionner en parallèle sur la plupart des tâches données et le rendre plus efficace qu'un CPU à usage général.
Avec une meilleure connaissance des programmes en cours d'exécution, vous pouvez optimiser la manipulation de la mémoire ou les processus de calcul pour ces programmes. Le GPU est très polyvalent dans la façon de faire des calculs et d'effectuer des manipulations de mémoire, de sorte que le firmware ou le pilote parfait doit encore être écrit. ;) Il y a beaucoup de place pour des améliorations.
La plupart des autres appareils ne sont pas aussi polyvalents dans son utilisation. La plupart du matériel sur un PC doit fonctionner selon ses spécifications, suivre les protocoles, donc le pilote n'a pas besoin d'être optimisé.
A, oublié le CPU. > _ <Le CPU peut être optimisé. La plupart des nouveaux modèles de CPU ont un firmware programmable, mais l'augmentation des performances ne vaut pas la peine. Il est uniquement utilisé pour corriger les erreurs dans le processus de construction du matériel.
la source