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, Cuttlefish için evrensel olarak erişilebilir bir oluşturma çözümü sunar ve herhangi bir ana makinede çalışabilir.

Ancak SwiftShader kullanmak normal bir cihaz kadar performanslı değildir. Piksel değerleri bağımsız olarak hesaplanabildiğinden oluşturma, büyük ölçüde paralelleştirilebilen paralel bir sorundur. Grafik işleme 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 (bkz. Gallium3D). Ara gösterim, ana makineye iletilir ve ana makinedeki virglrenderer kitaplığı, ara gösterimi tekrar OpenGL API çağrılarına çevirir.