Sepia: GPU-Grafikbeschleunigung

Der beschleunigte Grafikmodus von Cuttlefish verwendet die physischen Grafikprozessor (GPU) für das Rendering durch Übergabe von Rendering-Befehlen als Gast zu Ihrem Hostcomputer senden und die Rendering-Befehlsaufrufe auf Ihrem Hostcomputer ausführen, und übergibt die gerenderten Ergebnisse an den Gast.

Ein Sepia-Gerät mit Android 11 oder höher erkennt und verwendet beschleunigte Grafiken. Wenn der Hostcomputer keine oder die Android-Version Android 10 oder niedriger, clientseitiges Rendering (z. B. UI und Videowiedergabe) auf Ihrem Cuttlefish-Gerät wird von SwiftShader verwaltet. SwiftShader ist eine Softwareimplementierung der OpenGL und Vulkan APIs. Weil SwiftShader ist eine Softwareimplementierung, die eine universell zugängliche Rendering-Lösung für Cuttlefish, die auf jedem Host-Computer ausgeführt werden kann.

SwiftShader ist jedoch nicht so leistungsfähig wie ein normales Gerät. Rendering ist ein paralleles Problem, das massiv parallelisiert werden kann, können unabhängig voneinander berechnet werden. Graphics Processing Units (GPUs) Hardwareeinheiten, die dieses Problem lösen, indem sie das Rendering beschleunigen.

Voraussetzungen

Für den beschleunigten Grafikmodus muss der Host folgende Voraussetzungen erfüllen:

  • EGL-fähiger Treiber zur Unterstützung der Erweiterung GL_KHR_surfaceless_context
  • OpenGL ES-fähiger Treiber
  • Vulkan-fähiger Treiber

Schnellere Grafikmodi verwenden

GfxStream

Um den beschleunigten Grafikmodus von GfxStream zu verwenden, starte deinen lokalen Tintenfisch Gerät mit dem Flag --gpu_mode=gfxstream. In diesem Modus werden OpenGL und Vulkan API-Aufrufe werden direkt an den Host weitergeleitet.

launch_cvd --gpu_mode=gfxstream

Virgl

Um den beschleunigten Grafikmodus von Virgl zu verwenden, starte dein lokales Cuttlefish-Gerät mit dem Flag --gpu_mode=drm_virgl.

launch_cvd --gpu_mode=drm_virgl

Bei Verwendung des Virgl-beschleunigten Grafikmodus werden OpenGL API-Aufrufe übersetzt in eine Zwischendarstellung umwandeln (siehe Gallium3D. Die Die zwischengeschaltete Darstellung wird an den Host und die virglrenderer-Bibliothek aktiviert übersetzt der Host die Zwischendarstellung zurück in OpenGL API-Aufrufe.