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

Mürekkep balığı'nın hızlandırılmış grafik modu, ana makinenizin fiziksel konuk oluşturma komutlarını ileterek oluşturma için grafik işlem birimi (GPU) oluşturma komutlarını ana makine makinenizde çalıştırmaya, ve oluşturulan sonuçları konuğa geri veriyor.

Android 11 veya sonraki bir sürümün yüklü olduğu Cuttlefish cihazlar, hızlandırılmış grafikleri algılar ve kullanır. Ana makine tarafından hızlandırılmış grafik mi yoksa Android sürümü ise Android 10 veya önceki sürümlerde, konuk tarafında oluşturma (örneğin, kullanıcı arayüzü ve video oynatma) SwiftShader tarafından işlenir. SwiftShader, OpenGL ve Vulkan API'lerinin bir yazılım uygulamasıdır. SwiftShader bir yazılım uygulaması olduğundan, Cuttlefish için herhangi bir ana makinede çalışabilen, herkese açık bir oluşturma çözümü sunar.

Ancak SwiftShader'ı kullanmak normal bir cihaz kadar performanslı değildir. Oluşturma: büyük ölçüde paralel yapılabilir. değerleri bağımsız olarak hesaplanabilir. Grafik işlem birimleri (GPU'lar), oluşturmayı hızlandırarak bu sorunu gideren donanım birimleridir.

Şartlar

Hızlandırılmış grafik modu, ana makinede şunları gerektirir:

  • 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

GfxAkışı

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

launch_cvd --gpu_mode=gfxstream

Virgül

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

launch_cvd --gpu_mode=drm_virgl

Virgl hızlandırılmış grafik modu kullanıldığında OpenGL API çağrıları bir ara temsile dönüştürülür (Gallium3D'ye bakın). Ara temsil, ana makineye iletilir ve ana makinedeki virglrenderer kitaplığı, ara temsili OpenGL API çağrılarına geri çevirir.