Es sieht so aus, als ob die beiden großen GPU-Hersteller ständig aktualisierte Treiber veröffentlichen, die hier und da eine kleine Leistungssteigerung bewirken. Wenn sie für dasselbe Spiel spielen, summiert sich das mit der Zeit.
Warum hören wir in diesem Zusammenhang nie, dass AMD oder Intel CPU-Treiber für eine bestimmte App oder Version von Windows oder so etwas optimieren?
Antworten:
Erstens gibt es manchmal Fälle, in denen ein Treiber-Patch veröffentlicht wird, der die Leistung oder Effizienz einer bestimmten CPU erhöht. Aber offensichtlich stellen Sie diese Frage, weil sie einfach nicht so häufig ist. Das Konzept der CPU-Treiberoptimierungen ist jedoch ähnlich.
Eine GPU ist eine sehr komplizierte Schaltung. Es ist vorhanden, um bestimmte Aufgaben auszulagern, deren Ausführung auf einer CPU sehr lange dauert. Sie erhalten Datensätze und Anweisungen, wie sie mit diesen Daten umgehen sollen. Die GPU muss in der Lage sein, die Daten in einer verwaltbaren Weise anzuordnen und die Anweisungen zu interpretieren, um anzugeben, was zu tun ist. Dann muss es eine Reihe von mathematischen Operationen an den Daten ausführen. Danach müssen die Daten erneut sortiert und die Ergebnisse nach Abschluss an das Betriebssystem zurückgesendet werden. Dies ist eine sehr vereinfachte Beschreibung der Computergrafik-Pipeline . Es müssen mehrere Schritte ausgeführt werden, bevor die Daten für das Programm bereit sind.
Da die GPU nun Befehlssätze akzeptieren und sehr komplizierte mathematische Operationen in der Hardware implementieren muss, gibt es bestimmte Dinge, von denen bekannt ist, dass sie schneller oder langsamer durch diese Pipeline laufen. Beim Schreiben eines Treibers für ein Gerät werden die an das Gerät gesendeten Daten und Anweisungen interpretiert und übersetzt, damit das Gerät sie verstehen kann. Wenn ein Fahrer dies tut, kann er entscheiden, wie die Daten an das Gerät gesendet werden sollen, damit die Aufgaben so schnell wie möglich ausgeführt werden. Ein Fahrer hat jedoch im Allgemeinen nicht viele Informationen darüber, was das Programm, das er bedient, tut. Alles, was es vom Programm erhält, sind die API-Aufrufe ("zeichnen Sie eine Linie", "färben Sie einen Punkt", "schattieren Sie ein Dreieck" usw.). Die Annahmen, die sich daraus ergeben können, sind also nicht sehr gut.
Wenn AMD oder nVidia ein Treiberupdate veröffentlichen, das Leistungsverbesserungen für bestimmte Spiele enthält, bedeutet dies, dass der Treiber erkennt, welches Spiel die Grafikhardware aufruft, und über eine Reihe von fest codierten Annahmen verfügt, die bekannt sind, wie das Spiel ist umgesetzt. Es kann sein, dass das Spiel eine Menge Texturbilder hat, die schnell in den Speicher verschoben werden müssen, oder dass viel Farbe im laufenden Betrieb gemischt wird, um bestimmte Lichteffekte zu erzielen. In der Regel werden in einem Spiel kleine Programme (sogenannte "Shader") implementiert, die beschreiben, wie diese Berechnungen durchgeführt werden, und diese werden zur Ausführung an die GPU gesendet. Wenn der Fahrer weiß, wie das Spiel die Hardware verwendet, kann er die Daten organisieren und Anweisungssätze auswählen, die die gewünschte Aufgabe auf eine Weise ausführen, die den Durchsatz und die Effizienz erhöht.
Manchmal können jedoch nach dem Versand des Produkts in einem Teil der GPU Fehler auftreten. Es mag undurchsichtig genug sein, bei der Validierung des Chips übersehen zu werden, aber es könnte sich herausstellen, dass es in einem bestimmten Spiel, das darauf trifft, zu einem fehlerhaften oder unerwünschten Verhalten (oder sogar zu Abstürzen) kommt. In diesem Fall erkennt der Treiber diesen fehlerhaften Zustand und kann ihn umgehen, indem er entweder Berechnungen auf die CPU-Seite verlagert oder die Art und Weise ändert, in der Daten an die GPU übertragen werden, damit diese nicht in diesen Zustand übergeht. Diese werden wiederum in Form von Treiberupdates veröffentlicht.
Im Grunde ändert sich nicht die Leistung der Hardware selbst, sondern lediglich die Art und Weise, wie die Hardware verwendet wird, damit sie effizienter und schneller mit demselben Datensatz arbeiten kann.
quelle
"CPU-Treiber" gibt es selten und schon gar nicht als ladbare Module. Der gelegentliche "CPU-Treiber" würde für einige Variationen der Multicore-Steuerung oder Interrupt-Behandlung benötigt (z. B. brauchten AMD-Dual-Cores einen WinXP-Treiber für die volle Auslastung). Ansonsten sind die meisten Betriebssysteme so konfiguriert und gebaut, dass sie direkt auf die CPU zugreifen können. Wenn ein schwerwiegendes Problem auftritt, wird der Kernel-Code gepatcht und ein Kernel-Update veröffentlicht.
GPUs sind nicht mehr nur Peripheriegeräte. Sie haben sich zu Co-Prozessoren entwickelt. Der "GPU-Treiber" bietet nicht nur Gerätezugriff, sondern enthält auch Verarbeitungsalgorithmen (dh Grafik-Unterprogramme) für die im Treiber enthaltene GPU. Die Größe dieser "Treiber" ist ein Werbegeschenk / Hinweis. Es sind diese Algorithmen / Unterprogramme, die verbessert werden.
quelle
Es sind nicht nur die Treiber, es ist die GPU selbst. Eine GPU ist auf verschiedene Arten von Berechnungen (z. B. FFT) und Speichermanipulation spezialisiert. Es kann bei den meisten Aufgaben parallel arbeiten und ist effektiver als eine Allzweck-CPU.
Mit besseren Kenntnissen der ausgeführten Programme können Sie die Speichermanipulation oder Berechnungsprozesse für diese Programme optimieren. Die GPU ist sehr vielseitig in der Durchführung von Berechnungen und Speichermanipulationen, also die perfekte Firmware oder Treiber geschrieben werden muss. ;) Es gibt viel Raum für Verbesserungen.
Die meisten anderen Geräte sind nicht so vielseitig einsetzbar. Die meiste Hardware auf einem PC muss in den Spezifikationen ausgeführt werden und den Protokollen folgen, sodass der Treiber nicht optimiert werden muss.
A, habe die CPU vergessen. > _ <Die CPU kann optimiert werden. Die meisten neuen CPU-Modelle verfügen über eine programmierbare Firmware, aber die Leistungssteigerung ist den Aufwand nicht wert. Es wird nur verwendet, um Fehler im Hardware-Erstellungsprozess zu korrigieren.
quelle