Wie kann man Chrome dazu zwingen, die integrierte GPU zum Dekodieren zu verwenden?

5300
Gepard

Ich möchte, dass Chrome iGPU (GT630 auf i7-8700k) für die Videodekodierung verwendet, insbesondere die VP9-Dekodierung auf YouTube. Meine diskrete GPU ist GTX970 und kann VP9 nicht decodieren. Derzeit ist VP9 auf meinem System Software-decodiert, was die CPU belastet und gelegentlich Frames überspringt.

Beide GPUs werden vom System (Windows 10) erkannt: GT630 als GPU0 und GTX970 als GPU1. Ich benutze 2 Bildschirme. Es ist mir egal, wo sie angeschlossen werden müssen (970 oder Motherboard), solange Chrome iGPU verwendet und ich Nvidia weiterhin zum Spielen verwenden kann. Einer der Bildschirme ist 144Hz. Das Motherboard ist ASUS ROG Hero.

Ich habe verschiedene Einstellungen ausprobiert, aber nichts scheint wie beabsichtigt zu funktionieren, und normalerweise suchen die Leute nach einer Lösung für das genau entgegengesetzte Problem ...

Update (Befehlsschalter):

Chrom ausführen mit --gpu-active-vendor-id=0x8086 --gpu-active-device-id=0x3E92oder --gpu-vendor-id=0x8086 --gpu-device-id=0x3E92oder --gpu-testing-vendor-id=0x8086 --gpu-testing-device-id=0x3E92führt zu:

GPU0 VENDOR = 0x10de, DEVICE = 0x13c2 ACTIVE
GPU1-VENDOR = 0x8086, DEVICE = 0x3e92
GL_RENDERER ANGLE (NVIDIA GeForce GTX 970 Direct3D11 vs_5_0 ps_5_0) `

Vivaldi-Browser scheint zu akzeptieren, --gpu-testing-vendor-id=0x8086 --gpu-testing-device-id=0x3E92welche Ergebnisse zu folgenden Ergebnissen führen:

GPU0 VENDOR = 0x8086, DEVICE = 0x3e92 ACTIVE
GL_RENDERER-WINKEL (NVIDIA GeForce GTX 970 Direct3D11 vs_5_0 ps_5_0) `

Es verwendet jedoch immer noch Nvidia für den Renderer und verwendet kein GT630 igfx.

Die einzige Methode, die bisher funktioniert, ist das Deaktivieren der Nvidia-Karte im Geräte-Manager, das Starten von Chrome und das erneute Aktivieren der Nvidia-Karte. Wenn Chrome ohne die im System vorhandene diskrete Karte gestartet wird, wird es mit der folgenden Konfiguration ausgeführt, und es ist die einzige, die HW-Dekodierung von GT630 verwendet:

GPU0 vendor = 0x8086, DEVICE = 0x3e92 ACTIVE
GPU1 vendor = 0x10de, DEVICE = 0x13c2
GL_RENDERER ANGLE (Intel (R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0)

4
Ein anderer Typ mit dem gleichen Problem [hier] (https://www.reddit.com/r/intel/comments/8bmg75/). guest-vm vor 5 Jahren 0
Würde es Ihnen etwas ausmachen, dies auch zu versuchen? Schließen Sie Chrome und starten Sie es erneut mit "Chrome --gpu-active-vendor-id = 0x8086 --gpu-active-device-id = 0x3E92". Gehen Sie zu `about: gpu`. Ist die aktive GPU jetzt anders? guest-vm vor 5 Jahren 0
Ich würde versuchen --gpu-vendor-id = 0x8086 --gpu-device-id = 0x3E92`. harrymc vor 5 Jahren 0
@ guest-vm Ich habe Befehlsschalter ausprobiert, führt zum OP. Gepard vor 5 Jahren 0
@ guest-vm Tatsächlich funktionieren Befehlsschalter, wenn der mit igfx verbundene Bildschirm als Hauptanzeige ausgewählt ist. Gepard vor 5 Jahren 1
Wenn ich dGPU wieder aktiviere, verwendet Chrome weiterhin iGPU zur Videodekodierung, was ich im Task-Manager bestätigen kann. Gepard vor 5 Jahren 1
Haben Sie Chrome ohne Befehl ausprobiert, als der mit igfx verbundene Bildschirm als Hauptanzeige eingestellt war? Ich hatte eigentlich nicht erwartet, dass der Befehl überhaupt funktionieren würde, oder ich hätte ihn als Antwort hinzugefügt. Ich vermute, dass der Befehl scheinbar funktioniert hat, da das Hauptdisplay mit Intel verbunden ist, nicht jedoch mit Nvidia, dh. Chrome verwendet die GPU, an die das Hauptdisplay angeschlossen ist. Es ist rätselhaft, ob der Befehl nicht funktioniert hat, wenn das Hauptdisplay mit Nvidia verbunden ist, aber funktioniert, wenn er mit Intel verbunden ist. guest-vm vor 5 Jahren 0

5 Antworten auf die Frage

1
guest-vm

Es gibt kein Desktop-Gegenstück zu Nvidia Optimus (ohne Lucid Virtu eingestellt), das dynamisches GPU-Schalten ermöglicht. Um Intel IGP für die Hardwarebeschleunigung in Chrome verwenden zu können, müssen Sie einen Monitor an den Intel-Port anschließen und ihn in den Einstellungen als Hauptanzeige festlegen (wobei zusätzliche Anzeigen mit Nvidia möglich sind).

Wenn es jedoch Ihr Ziel ist, gleichzeitig mit Nvidia auf einem Bildschirm zu spielen und Youtube auf einem anderen Bildschirm mit Intel zu spielen, haben Sie kein Glück, da Spiele auch über das Hauptdisplay laufen (jetzt von Intel gerendert).

Wenn Sie jeweils nur einen einzelnen Monitor einzeln verwenden, verbinden Sie ihn mit Intel und Nvidia und schalten Sie die Hauptanzeige und die Bedienfeld-Eingangsquelle als Problemumgehung um.

Haftungsausschluss: Dies ist eine fundierte Vermutung. Ich freue mich über jeden Streit mit Beweismitteln, z. Linux hat keine solche Einschränkung, wie hier angegeben (https://superuser.com/q/1284970/). guest-vm vor 5 Jahren 0
Ich habe herausgefunden, dass ich Chrome dazu zwingen kann, igfx als Renderer zu verwenden, wenn ich Nvidia im Geräte-Manager vorübergehend deaktivieren. Nach dem erneuten Aktivieren von Chrome wird igfx weiterhin verwendet, und gleichzeitig kann ich Nvidia für Spiele verwenden. Gepard vor 5 Jahren 0
1
harrymc

Wenn Sie die Deaktivierung des Nvidia-Adapters, das Starten von Chrome und die erneute Aktivierung des Adapters automatisieren möchten, können Sie ein Batch-Skript (.bat-Datei) verwenden, das Sie als Symbol auf dem Desktop ablegen können.

Verwenden des Microsoft-Befehlszeilentools Devcon.exe :

devcon.exe disable "NVIDIA GeForce GTX 970" start "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" timeout 5 devcon.exe enable "NVIDIA GeForce GTX 970" 

Überprüfen Sie im Geräte-Manager im Abschnitt Anzeigeadapter, ob der obige Name des Adapters korrekt ist.

Andere Dienstprogramme, die anstelle von Devcon verwendet werden können, sind DevManView und MultiMonitorTool .

0
Unrul3r

Ich hatte dieses Problem nun seit einigen Monaten und gestern fand ich eine Lösung für das Problem:

Anzeigeeinstellungen -> Grafikeinstellungen -> Wählen Sie eine App aus, um die Einstellungen festzulegen: Klassische App -> Durchsuchen -> Firefox.exe (in Ihrem Fall Chrome) -> Firefox (Schaltfläche, die unter der Schaltfläche "Durchsuchen" angezeigt wird) -> Optionen . Dann habe ich Power Saving gewählt, wodurch mein Browser die iGPU verwendet. Bei hoher Leistung würde der Browser meine dedizierte GPU verwenden.

Bildschirmfoto:enter image description here

Klar, los geht's: i5 6600k, R9 280x. Warum spielt es eine Rolle? Werden diese Optionen nicht für Sie angezeigt? Unrul3r vor 5 Jahren 0
Ich dachte, dass diese neue Funktion nur für Laptop funktioniert. Mit Ihrer Eingabe schaue ich, dass ich falsch liege. guest-vm vor 5 Jahren 0
Sie stammen vom letzten Windows-Update vom 10. April. Unrul3r vor 5 Jahren 0
0
rcarter04

Mit dem Windows-Update vom 10. Oktober 2018 habe ich einige Stunden nach einer funktionierenden Lösung gesucht. Mit den Anweisungen von Unrul3r konnte ich die Hardware-VP9-Dekodierung in Chrome, das von der iGPU unterstützt wird, erfolgreich aktivieren.

(Link zum Screenshot) Das Setup lautet wie folgt:

AMD Radeon R9-290 dGPU -> Verbunden über DisplayPort mit dem primären Monitor 3840x2160 (4K).

Intel Core i5-8400 mit UHD 630 iGPU -> Verbunden über das Motherboard HDMI mit dem sekundären Monitor 1920x1080.

(Link zum Screenshot) Folgendes möchten Sie in chrome: // gpu sehen, um zu überprüfen, ob alles funktioniert:

Im Folgenden erfahren Sie, wie Sie dies richtig ausführen können.

Installationsvoraussetzungen

  • Ein primärer und sekundärer Monitor
  • Mindestens ein Monitor muss physisch mit den iGPU-Ausgängen des Motherboards verbunden sein
  • Verbinden Sie den primären Monitor und alle anderen mit Ihrer dGPU

Schritt für Schritt

  1. Rufen Sie das BIOS auf und stellen Sie sicher, dass die iGPU auf " Enabled " ( nicht "Auto") gesetzt ist. Vergewissern Sie sich, dass Ihre dGPU noch als erstes aktiviert ist. Speichern und neu starten.
  2. Starten Sie Windows. Die Intel-Treiber für die iGPU sollten automatisch heruntergeladen und installiert werden, da sie jetzt aktiviert und verwendet wird. Persönlich habe ich mir das komplette Treiberpaket für meine UHD 630 von Intel besorgt und es manuell installiert.
    1. Starten Sie neu, sobald die iGPU-Treiber installiert sind.
    2. Wenn Sie sich wieder in Windows befinden, öffnen Sie die Anzeigeeinstellungen und passen Sie die Einstellungen für mehrere Anzeigen und die Positionierung an, wenn sich Ihre Einstellungen geändert haben.
    3. Klicken Sie unten im Fenster Anzeigeeinstellungen auf Grafikeinstellungen . Lassen Sie die Dropdown-Liste in der klassischen App und klicken Sie auf Durchsuchen, um die ausführbare Datei für das Programm zu suchen, das Sie der iGPU zuweisen möchten.
    4. Klicken Sie nach dem Hinzufügen auf die neue Auflistung, wählen Sie Optionen und dann Energie sparen, um zu erzwingen, dass die iGPU das Rendern für diese App ausführt.

(Link zum Screenshot) Was Sie im Fenster " Grafikeinstellungen" sehen sollten, wenn Sie fertig sind:

Und los geht's! Tests mit diesem 8K-YouTube-Video des Unigine Superposition-Benchmarks zeigen jetzt ~ 2-3% CPU-Auslastung und <1% ausgelassene Frames (völlig glatt für das Auge, kein Stottern). Im Vergleich ohne den Hardwaredecoder wäre die CPU-Auslastung begrenzt, und das Ergebnis war ein unübertroffenes Durcheinander mit einem Ausfall von> 50% der Frames.

0
Odair Augusto Trujillo Orozco

Die einfache Lösung ist die, gab von Unrul3r, man muss nur gehen Grafikeinstellungen in Windows 10 Systemsteuerung und fügen Sie Google Chrome oder Firefox im klassischen App - Modus und drücken Sie Option, wählen Sie Hoch performarce und das ist es. Führen Sie einen WebGL-Benchmark aus, und Sie sehen den Webbrowser mit GPU-1 oder der Nummer Ihrer eigenen GPU. Es funktioniert für jede andere Anwendung wie Word, Excel usw.

Eine weitere Option zur Verbesserung der Leistung in Google Chrome und speziell der Videowiedergabe (z. B. Youtube) ist die Verwendung der Flag-Konfigurationsseite. Um die GPU-Wiedergabe auf Aktivieren zu setzen, siehe Abbildung:

Google Chrome kennzeichnet die Konfiguration

Wie Sie im nächsten Bild sehen können, handelt es sich bei meiner diskreten GPU um die GPU-1 AMD Radeon R7

GPU-1 als Radeon R7

Descripción en español: Aktivierung der GPU-Einstellungen in Google Chrome (ATI Radeon), Aktivieren der Wiederherstellungsfunktion von Hardware in Youtube.