Kann man manuell die GPU festlegen, mit der ein Programm startet?

coolmodi

Lt. Commander
Registriert
Apr. 2012
Beiträge
1.964
Hey, ich habe folgendes Problem: Ich habe eine iGPU (7800x3d) und eine dGPU (Radeon 7900) und möchte wählen können, mit welcher GPU ein Programm startet. Unabhängig davon, wo welcher Monitor dran hängt.

Ich weiß, dass das prinzipiell funktioniert, denn manche Programme/Spiele haben sogar eine Auswahl eingebaut und manche starten immer auf der dGPU, auch wenn dort gar kein Monitor eingesteckt ist.

Z.B. der Wukong Benchmark läuft immer auf der dGPU, auch wenn dort überhaupt kein Monitor eingesteckt ist. WoW hat ingame eine Einstellung für die verwendete GPU, und die funktioniert auch problemlos, egal ob ein Monitor dran hängt oder nicht. Weiterhin kann man den Hauptbildschirm auf einen an der gewünschten GPU einstellen, ein Programm starten, und es läuft permanent auf dieser GPU.

Google spuckt einfach nur 10000 Threads und Videos mit der immer gleichen "Lösung" aus, die Windows "Grafikeinstellungen", in der man angeblich die gewünschte GPU einstellen kann. Das funktioniert aber nicht, da beide Auswahlmöglichkeiten immer nur die GPU sind, an der der Hauptbildschirm hängt. Ziemlich sinnlos.

Es muss doch eine Möglichkeit geben die Auswahl manuell vorzunehmen oder die Einträge für Energiesparen und Hochleistung in den "Grafikeinstellungen" manuell zu erzwingen. Mir egal ob es ein Registryhack ist, oder ein CMD oder PS Script, mit dem man ein Programm starten muss. Technisch gesehen funktioniert es ja ohne Probleme, nur nicht über das UI von Windows. Auf Linux geht es ja auch ohne Probleme. Muss doch in Windows irgendeine Möglichkeit geben das zu erzwingen.
 
Bei mir geht das mit Windows:
Einstellungen > System > Bildschirm > Grafik > Spiel auswählen > Optionen
So mal probiert?
 
  • Gefällt mir
Reaktionen: JumpingCat
Da sind wie gesagt beide Auswahlmöglichkeiten immer die gleiche GPU, an der aktuell der Hauptbildschirm hängt. Egal in welcher Konstellation ich die Monitore anschließe, ich habe dort nie beide zur Auswahl.
 
Du suchst also sowas wie Nvidia Optimus beim Laptop, wenn ich das richtig verstehe.
AMD Switchable Graphics
sollte theoretisch auch am Desktoprechner funktonieren.
 
Ok, ich glaube ich habe zumindest eine erst mal brauchbare Lösung gefunden. Allerdings nur für den Fall, dass man etwas auf der GPU starten will, an der nicht der Hauptbildschirm oder gar kein Monitor hängt.

Die Einstellungen für die zu verwendende GPU aus den Windows Grafikeinstellungen finden sich in der Registry
HKEY_CURRENT_USER\SOFTWARE\Microsoft\DirectX\UserGpuPreferences
Welche die GPU für "Hohe Leistung" ist, kann man im string-Wert DirectXUserGlobalSettings festlegen. Der nötige Eintrag dafür ist
HighPerfAdapter=VendorId&DeviceId&SubsystemId
Das findet man z.B. im Gerätemanager in der Form VEN_<VendorId>&DEV_<DeviceId>&SUBSYS_<SubsystemId>

In meinem Fall sieht das dann so aus:
1724592852016.png


Danach neustarten und die GPU steht zur Auswahl und wird auch verwendet, auch wenn kein Monitor daran angeschlossen ist.
1724592769400.png


Idealerweise hätte ich gerne die Möglichkeit den Hauptbildschirm an der 7900 zu haben, und z.B. Firefox auf der iGPU laufen zu lassen, aber absolut keine Ahnung was das Equivalent zu HighPerfAdapter für die Energiespar-GPU ist. Die - vermutlich 1 Frame? - Verzögerung ist aber eh zu vernachlässigen, zumindest bei 144 hz, spiele eh keine Shooter aktuell.
 
Bei Windows gibt es das auch nennt sich Hybrid Graphics, dazu muss der Monitor aber ans Mainboard angeschlossen werden, musst du mal recherchieren, getestet habe ich es noch nicht.
 
coolmodi schrieb:
und möchte wählen können, mit welcher GPU ein Programm startet. Unabhängig davon, wo welcher Monitor dran hängt.
Wenn kein Monitor angeschlossen ist existiert die Karte = der Ausgang für WIN nicht.
Inwieweit das logisch oder vernünftig ist muss man MS fragen; es könnte ja Dockingstations und damit zeitweilige Monitore geben.
(Ich habe keine Ahnung was WIN sich da dann merkt wenn man aus dem Dock ≡ Abtrennen eines Monitors und und wieder diesen Monitor zur Verfügung stellt, ob dann noch das Prog damit verheiratet ist, sofern es nicht aufgerufen wurde.)

CN8
 
du meinst Hybrid Grafik, da muss der Monitor immer an den Ausgang vom Mainboard angeschlossen sein und im BIOS/UEFI muss die iGPU als primäres Video Device ausgewählt werden.
 
Zurück
Oben