Mürekkepbalığı: GPU grafik hızlandırması

Cuttlefish'in hızlandırılmış grafik modu, konuk oluşturma komutlarını ana makinenize ileterek, oluşturma komutlarını ana makinenizde çalıştırarak ve oluşturulan sonuçları konuğa geri ileterek oluşturma için ana makinenizin fiziksel grafik işleme birimini (GPU) kullanır.

Android 11 veya sonraki bir sürümde çalışan bir Cuttlefish cihazı, hızlandırılmış grafikleri algılar ve kullanır. Ana makine hızlandırılmış grafikleri desteklemiyorsa veya Android sürümü Android 10 ya da daha eski bir sürümse Cuttlefish cihazınızda konuk tarafı oluşturma (ör. kullanıcı arayüzü ve video oynatma) SwiftShader tarafından işlenir. SwiftShader, OpenGL ve Vulkan API'lerinin yazılım uygulamasıdır. SwiftShader bir yazılım uygulaması olduğundan, herhangi bir ana makinede çalışabilen Cuttlefish için evrensel olarak erişilebilir bir oluşturma çözümü sunar.

Ancak SwiftShader kullanmak normal bir cihaz kadar iyi performans sağlamaz. Piksel değerleri bağımsız olarak hesaplanabildiğinden oluşturma, büyük ölçüde paralelleştirilebilen paralel bir sorundur. Grafik işlem birimleri (GPU'lar), oluşturma işlemini hızlandırarak bu sorunu çözen donanım birimleridir.

Şartlar

Hızlandırılmış grafik modu için ana makinede şunlar olmalıdır:

  • GL_KHR_surfaceless_context uzantısını destekleyen EGL özellikli sürücü
  • OpenGL ES özellikli sürücü
  • Vulkan özellikli sürücü

Hızlandırılmış grafik modlarını kullanma

GfxStream

GfxStream hızlandırılmış grafik modunu kullanmak için yerel Cuttlefish cihazınızı --gpu_mode=gfxstream işaretiyle başlatın. Bu modda, OpenGL ve Vulkan API çağrıları doğrudan ana makineye yönlendirilir.

launch_cvd --gpu_mode=gfxstream

Virgl

Virgl hızlandırılmış grafik modunu kullanmak için yerel Cuttlefish cihazınızı --gpu_mode=drm_virgl işaretiyle başlatın.

launch_cvd --gpu_mode=drm_virgl

Virgl hızlandırılmış grafik modu kullanılırken OpenGL API çağrıları ara gösterime çevrilir (Gallium3D bölümüne bakın). Ara gösterim, ana makineye iletilir ve ana makinedeki virglrenderer kitaplığı, ara gösterimi tekrar OpenGL API çağrılarına çevirir.