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.