Hardware

Hardwarebeschleunigung – wiki.archlinux.de

GPU-Hardwarebeschleunigung - Browsers

Inhaltsverzeichnis

Hardwarebeschleunigung (oder GPU-Rendering) in Internet Explorer

Artikel

01/25/2022

2 Minuten Lesedauer

2 Mitwirkende Ist diese Seite hilfreich? Yes No Haben Sie weiteres Feedback für uns? Feedback wird an Microsoft gesendet: Wenn Sie auf die Sendeschaltfläche klicken, wird Ihr Feedback verwendet, um Microsoft-Produkte und -Dienste zu verbessern. Datenschutzrichtlinie Übermitteln Vielen Dank.

In diesem Artikel

Wichtig Die Internet Explorer 11-Desktopanwendung wird eingestellt und wird ab 15. Juni 2022 nicht mehr unterstützt (eine Liste der betroffenen Anwendungen finden Sie in den häufig gestellten Fragen). Die gleichen IE11-Apps und Websites, die Sie heute verwenden, können in Microsoft Edge im Internet Explorer-Modus geöffnet werden. Hier erhalten Sie weitere Informationen.

In diesem Artikel wird das Hardwarebeschleunigungs- oder GPU-Renderingfeature (Graphics Processing Unit) in Internet Explorer vorgestellt. In diesem Artikel werden auch mögliche Probleme erläutert, die auftreten können, wenn Sie dieses Feature verwenden, das Verfahren zum Aktivieren oder Deaktivieren dieses Features und wie Sie die Kompatibilität Ihres Systems mit diesem Feature mit Grafikkarten überprüfen.

Ursprüngliche Produktversion: Internet Explorer

Ursprüngliche KB-Nummer: 4551932

Definieren der Hardwarebeschleunigung

Hardwarebeschleunigung oder GPU-Rendering ist ein Feature in Internet Explorer 9 und höher, mit dem Internet Explorer alle Grafiken und Das Textrendering von der CPU auf die GPU verschieben kann.

Hinweis Beim Rendern wird Computercode zum Anzeigen des Texts und der Grafiken verwendet, die auf dem Bildschirm angezeigt werden.

Standardverhalten

Das Feature ist in Internet Explorer standardmäßig aktiviert.

Wenn Internet Explorer erkennt, dass Ihre Grafikkarte oder Ihr Grafikkartentreiber GPU-Hardwarebeschleunigung und Second Level Address Translation (SLAT) unterstützt, wird in den folgenden Szenarien weiterhin Softwarerendering anstelle des GPU-Renderings verwendet:

Internet Explorer wird in einer Remotedesktopsitzung und in Terminalserverumgebungen wie Citrix ausgeführt. Dieses Verhalten bietet eine bessere Skalierbarkeit. Die GPU ist eine begrenzte systemweite Ressource. Die Freigabe einer GPU für mehrere Benutzer auf demselben System kann zu einer erheblichen Warteschlange für die GPU-Threadplanung führen. Daher wird Internet Explorer auf einem Terminalserver oder Citrix immer im Supportmodus für Softwarerendering ausgeführt. Der Softwaremodus erfordert, dass draw-bezogene Threads geplant und auf der System-CPU ausgeführt werden. Daher erhöht sich die CPU-Auslastung. Darüber hinaus wird die Option "Softwarerendering anstelle von GPU-Rendering verwenden" auf der Registerkarte "Erweitert" im Dialogfeld "Internetoptionen" nicht geändert, um anzugeben, dass dieser Modus verwendet wird.

Die GPU und der Treiber des Computers weisen bekannte Probleme auf, die sich auf Zuverlässigkeit, Funktionalität, Sicherheit und Leistung auswirken, wenn Internet Explorer ausgeführt wird. Zu diesen Problemen gehören: Webinhalte werden langsam gerendert. Internet Explorer reagiert nicht, wenn Sie versuchen, häufig angezeigte Websites zu durchsuchen. Qualitätsprobleme treten auf, wenn Sie Webinhalte oder häufig verwendete ActiveX Steuerelemente wie Adobe Flash rendern.

Aktivieren oder Deaktivieren der Hardwarebeschleunigung

Die Hardwarebeschleunigung erhöht die Leistung des Webbrowsers. Wenn das Feature aktiviert ist, treten bei einigen Benutzern Probleme auf, die etwa wie folgt aussehen, wenn sie verschiedene Websites anzeigen:

Hardware- oder Softwarekompatibilitätsprobleme, z. B. Websites, die Streaming- oder Vollbildvideos enthalten.

Schriftarten werden nicht richtig angezeigt (was unscharfen Text verursacht).

Browserfenster stürzt nach dem Zufallsprinzip ab.

Diese Probleme können aufgrund von Software- oder Hardwareinkompatibilitätsproblemen mit diesem Feature auftreten. Um zu überprüfen, ob die Probleme behoben werden können, können Sie versuchen, dieses Feature zu deaktivieren.

Gehen Sie folgendermaßen vor, um die Hardwarebeschleunigung zu deaktivieren:

Wählen Sie "Start" und dann "Internet Explorer" aus. Wählen Sie in der oberen rechten Ecke das Symbol "Extras" aus, und wählen Sie dann "Internetoptionen" aus. Aktivieren Sie die Registerkarte "Erweitert", und aktivieren Sie dann unter "Beschleunigte Grafiken" das Kontrollkästchen "Softwarerendering anstelle von GPU-Rendering verwenden". Klicken Sie auf Apply (Anwenden) und dann auf OK. Schließen Sie Internet Explorer, und starten Sie ihn neu, damit die Änderung wirksam wird.

Hinweis Deaktivieren Sie zum erneuten Aktivieren der Hardwarebeschleunigung das Kontrollkästchen "Softwarerendering anstelle von GPU-Rendering verwenden".

Nachdem Sie dieses Feature deaktiviert haben, öffnen Sie dieselbe Webseite, um festzustellen, ob das Problem behoben ist.

Ffmpeg mit Hardwarebeschleunigung

Videos verarbeiten stellt Benutzer meist vor eine harte Geduldsprobe, selbst wenn der eingesetzte Rechner über eine schnelle CPU und viel Arbeitsspeicher verfügt. Mit dem nötigen Wissen und der passenden Hardware macht er dem Prozess jedoch über die Hardwarebeschleunigung der Grafikkarte Beine.

Ffmpeg [1] ist wohl eines der am weitesten verbreiteten Werkzeuge, um Videodateien zu manipulieren. Die Bibliotheken des Projekts kommen in diversen grafischen Frontends zum Einsatz. Hardware-seitig helfen meist Grafikkarten bei der Videoverarbeitung – zumindest beim Dekodieren. Mit den richtigen Optionen und der passenden Hardware erzielen sie in bestimmen Fällen dramatische Leistungssteigerungen. Der Artikel demonstriert, wie Anwender Ffmpeg mit der Hardwarebeschleunigung verheiraten und wann das überhaupt Sinn ergibt.

Der Klassiker mit CPU

Videokameras oder digitale Videorecorder wie TV-Headend [2] nehmen Videos in einem Format wie Mpeg 2 entgegen, um sie dann in ein Containerformat wie MP4 oder MKV zu verpacken. Videocodecs wie H.264 oder das neuere H.265 erlauben es, Dateien wesentlich effizienter zu speichern. Der Nachteil: Abhängig von der Einstellung funktioniert die Kompression nicht mehr verlustfrei und wird unter Umständen beim Anschauen sichtbar.

Kommen keine Transformationen wie Größenumwandlungen oder Filter zum Einsatz, wandelt Ffmpeg Videos um, indem es Video- und Audioströme liest, dekodiert und dann wieder enkodiert. Ffmpeg ist dabei schlau genug, sich gleich auf mehrere CPUs zu stützen, wenn diese vorhanden sind. Der Parameter »-threads X« erlaubt es dem Benutzer dabei, die Anzahl der parallel arbeitenden Threads (und damit der genutzten CPUs) selbst festzulegen.

Im einfachsten Fall konvertiert der Anwender ein Video mit dem Befehl:

ffmpeg -i Quelldatei

Ffmpeg erkennt das richtige Format in der Regel automatisch. Die Codecs für das Ziel wählt die Software dabei anhand des Containertyps. Für Matroska-Container greift sie etwa zu x264 als Standardcodec für den Videostream.

Turbogang einlegen

Um dem Prozess Beine zu machen, setzt Ffmpeg auf die Option »-hwaccel«, die als Argument die Art der Beschleunigung mitnimmt. Wer allein »-hwaccels« eingibt (mit einem “s” am Ende), dem präsentiert Ffmpeg eine Liste der einkompilierten Methoden (Listing 1).

Listing 1 Hardwarebeschleunigung in Ffmpeg 01 #> ffmpeg -hwaccels 02 ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers 03 built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609 04 configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv 05 libavutil 54. 31.100 / 54. 31.100 06 libavcodec 56. 60.100 / 56. 60.100 07 libavformat 56. 40.101 / 56. 40.101 08 libavdevice 56. 4.100 / 56. 4.100 09 libavfilter 5. 40.101 / 5. 40.101 10 libavresample 2. 1. 0 / 2. 1. 0 11 libswscale 3. 1.101 / 3. 1.101 12 libswresample 1. 2.101 / 1. 2.101 13 libpostproc 53. 3.100 / 53. 3.100 14 Hardware acceleration methods: 15 vdpau

Die Webseite unter [3] erklärt die Methoden, die sich jeweils als Schlüsselwörter für die »-hwaccel«-Option eignen. Listing 1 zeigt die Ausgabe des unter Ubuntu 16.04 gelieferten Ffmpeg, das nur Vdpau unterstützt. Das steht für “Video Decode and Presentation API for Unix” [4] und stammt von Nvidia. Es soll in erster Linie komprimierte Videoformate auf der Grafikkarte dekodieren und diese für das Abspielen von Videos einspannen.

Vdpau

Logisch funktioniert Vdpau so, dass die Libav die komprimierten Videoframes an die GPU schickt, die diese dekodiert. Mit Hilfe des Vdpau-API holt nicht Ffmpeg selbst, sondern die darüberliegende Video-Anwendung (etwa VLC) die ausgepackten Daten ab.

Ähnlich wie bei X11 gibt es auch für Vdpau Treiber, die das API auf die konkrete Hardware abbilden. Unter Ubuntu finden sich etwa im Paket »mesa-vdpau-drivers« Treiber für den freien Nouveau-, aber auch für den freien »radeon«-Treiber (AMD). Vdpau unterstützt dabei die Codecs H.264, Mpeg 1, 2, 4 sowie VC 1, wobei auch eine Rolle spielt, welche Codecs die verbaute Grafikkarte unterstützt. Ein Aufruf für Ffmpeg sieht dann wie folgt aus:

ffmpeg -hwaccel vdpau -i Testvideo.MPG

Auf dem Rechner des Autors mit einer sehr alten Radeon-Karte (Radeon HD 4250) lieferte der Befehl nur ein Viertel der Performance, den eine reine CPU-Kodierung bringt. Um zu funktionieren, benötigt Vdpau zugleich einen laufenden X-Server, da das System über diesen auf die Grafikkarte zugreift.

VA-API

Die zweite Option zur Grafikbeschleunigung liefert VA-API (Video Acceleration API, [5]). Intel hat es für seine GMA-GPUs entwickelt. Es funktioniert ähnlich wie Vdpau, auch hier kommen wieder Treiber zum Zug. Die Bibliothek unterstützt AMD-GPUs über die Schnittstellen UVD (Unified Video Decoder) und VCE (Video Coding Engine). Das Dekodieren gelingt mit GPUs mit Graphics Core Next (GCN) und deren Nachfolgern. Dabei beherrschen die Karten dieselben Algorithmen wie Vdpau.

Karten ab GCN 3 unterstützen dann auch den recht Ressourcen-intensiven Codec H.265, der zum Beispiel in Deutschland bei DVB-T2 zum Einsatz kommt. Das Einpacken der Daten beherrschen GPUs von AMD nur für H.264 (abhängig vom Modell der Grafikkarte).

Für die Grafikchips von Intel spielt die Generation des Chips eine ausschlaggebende Rolle für den VA-API-Support. Sie bestimmt darüber, welche Funktionen und Codecs der Chip unterstützt. Der Marketingname, unter dem diese Funktionen bei Intel laufen, lautet “Intel Quick Sync Video”.

Hardwarebeschleunigung – wiki.archlinux.de

„Hardwarebeschleunigung“ wurde von KaJu (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere KaJu (Diskussion) bitte, bevor du den Artikel bearbeitest.

Die Hardwarebeschleunigung ermöglicht es, Videos über die Grafikkarte, statt der CPU zu berechnen. Dies entlastet die CPU und hilft den Stromverbrauch zu reduzieren, da spezialisierte Rechenwerke im Grafikprozessor die Berechnung übernehmen können. Insbesondere auf älteren CPUs kann die Hardwarebeschleunigung den Unterschied zwischen flüssiger Wiedergabe und stottern ausmachen, wobei selbst neuere CPUs bei hohen Auflösungen oder Frameraten an ihre Grenzen kommen.

Für die Hardwarebeschleunigung werden im wesentlichen 3 Schnittstellen genutzt:

Video Acceleration API (VA-API) ist Open Source und entwickelt von Intel, kann sowohl encodieren als auch decodieren, Kompatibel mit Intel, AMD GPU und Nvidia mit Nouveau

Video Decode and Presentation API for Unix (VDPAU) ist Open Source und entwickelt von Nvidia, dient nur zum Decodieren, Kompatibel mit Nvidia und AMD GPU

Nvidia Video Codec von Nvidia und ausschließlich für Nvidia GPUs ab Fermi. Unterstützt sowohl encodieren als auch decodieren

Installation

Intel

Intel CPUs ab Broadwell (2014||Core 5xxx Gen.) sowie die dedizierte DG1/SG1 nutzen das intel-media-driver Paket [1]

Intel CPUs ab der 1. Core Generation (2010) bis Coffee Lake (Core 8xxx Gen.) werden vom libva-intel-driver Paket unterstützt [2]

AMD

VA-API Installation durch das Paket libva-mesa-driver und lib32-libva-mesa-driver (für 32 Bit) || libva-utils und radeontop zur Funktionsprüfung (Optional)

VDPAU Installation durch das Paket mesa-vdpau und lib32-mesa-vdpau (für 32 Bit) || vdpauinfo und radeontop zur Funktionsprüfung (Optional)

VA-API wird für die Hardwarebeschleunigung unter Firefox und Chromium benötigt. Mehr dazu siehe #Vergleich

Nvidia

Ältere Grafikkarten von GeForce 8 Serie bis zur GTX 750 können libva-mesa-driver (VA-API) sowie mesa-vdpau (VDPAU) nutzen. Firefox/Chromium benötigen VA-API

Nvidia Video Codec für neuere Grafikkarten. Der proprietäre Treiber unterstützt die Hardwarebeschleunigung mit dem Paket nvidia-utils

Der proprietäre Treiber bieten ebenso Hardwarebeschleunigung für Browser (Chromium). Mehr dazu siehe #Vergleich

Hardwarebeschleunigung aktivieren

SMPlayer: Optionen -> Einstellungen -> Leistungsverhalten -> Entschlüsselung --> Geräteentschlüsselung "Automatisch"

mpv: Zuerst die Configdatei anlegen cp -r /usr/share/doc/mpv/ -> anschließend bearbeiten -> hwdec=auto-safe am Ende eintragen

Celluloid: Zunächst die mpv Config anlegen wie oben beschrieben, anschließend in den Einstellungen -> Konfigurationsdatei -> mpv-Konfigurationsdatei laden wählen und den Pfad zur Datei auswählen

Vergleich

Englisches Wiki

Leave a Reply

Your email address will not be published. Required fields are marked *