Werbung
Moderne GPUs laufen unter Last nicht mehr immer mit dem gleichen Takt. Abhängig von den jeweiligen Last-Anforderungen oder Umgebungsvariablen wie GPU-Temperatur, maximaler GPU-Spannung und dem zur Verfügung stehenden Power-Target taktet die Karte unterschiedlich hoch. Natürlich gibt es hier seitens NVIDIA und der Boardpartner bestimmte Vorgaben – der Basis- und Boost-Takt soll eine Orientierung für den Käufer sein. Bei den AMD-GPUs ist dies noch etwas einfacher, da es hier einen maximalen Takt gibt, der auch normalerweise erreicht und nicht überschritten wird.
Die Angaben von NVIDIA und der Boardpartner sind also nicht immer ganz eindeutig. So taktet eine Karte mit guter Kühlung und erhöhtem Power-Target auch höher als der angegebene Boost-Takt. Reicht die Kühlung nicht aus, wird auch der Boost-Takt unterschritten und die Karte bewegt sich irgendwo zwischen Basis- und Boost-Takt. Kommt es zu weiteren Einschränkungen, kann auch der Basis-Takt nicht immer gehalten werden. Noch viele weitere Szenarien sind denkbar und all dies sorgt dafür, dass sich eine Grafikkarte in Rechner A meist anders verhält als in Rechner B und umgekehrt. Gleiche Bedingungen herzustellen ist meist nicht möglich und so kann es vorkommen, dass eine Karte in unseren Tests langsamer oder schneller ist als bei einem Leser.
Noch komplizierter wird die Situation, wenn man sich das Verhalten einer Game-Engine mit diesen unterschiedlichen Taktraten anschaut. Für den Spieler bedeutet eine langsamere oder schnellere GPU im Prinzip nur weniger der mehr Bilder pro Sekunde. Für eine Game-Engine aber wird eine GPU Time berechnet, die benötigt wird, um eine bestimmte Berechnung oder mehrere Berechnungen durchzuführen. Diese GPU Time unterscheidet sich je nach Takt und wenn dieser derart dynamisch arbeitet, kann nicht immer nachvollzogen werden, warum eine bestimmte Berechnung mal diese GPU Time benötigt und mal eine andere. Wie gesagt, gerade für Entwickler kann dies wichtig sein von einem stabilen Takt auszugehen, ein Zustand, der mit NVIDIA-GPUs aber nur schwer zu erreichen ist.
Daher haben die Entwickler von NVIDIA die SetStablePowerState.exe entwickelt bzw. freigegeben. Mithilfe dieses Tools kann der Boost-Mechanismus beliebig aus- und wieder eingeschaltet werden. Möglich ist dies mit allen APIs, egal ob DirectX 11, DirectX 12 Vulkan oder OpenGL. SetStablePowerState.exe setzt den GPU-Takt auf dem Basis-Takt fest. Diesen geben wir bei allen Grafikkartenmodellen auch stets mit an.
Wer also den Boost-Mechanismus deaktivieren möchte, was zum Beispiel auch beim Overclocking interessant sein könnte, der hat nun ein einfaches und hilfreiches Tool an die Hand bekommen. SetStablePowerState ist eine Methode und Bestandteil von DirectX 12. Einige Spiele hatten diese mit SetStablePowerState(TRUE) standardmäßig aktiviert, was natürlich dazu führte, dass NVIDIA-Grafikkarte nur auf dem Basis-Takt liefen und nicht ihr vollen Leistungspotenzial ausschöpfen konnten. Mit dem Windows-10-Anniversary-Update lässt sich der SetStablePowerState nur noch aktivieren, wenn auch der Entwickler-Modus von Windows 10 aktiviert ist. Dies gilt natürlich auch für SetStablePowerState.exe und ist in den Windows-10-Einstellungen möglich.
Weitere Informationen zum SetStablePowerState sind im Entwickler-Blog bei NVIDIA verfügbar.