Mực nang: tăng tốc đồ họa GPU

Chế độ đồ họa tăng tốc của Cuttlefish sử dụng bộ xử lý đồ họa vật lý (GPU) của máy chủ để kết xuất bằng cách chuyển các lệnh kết xuất khách đến máy chủ của bạn, chạy các lệnh kết xuất trên máy chủ của bạn và chuyển kết quả kết xuất lại cho khách.

Theo mặc định, kết xuất phía khách (ví dụ: phát lại giao diện người dùng và video) trong thiết bị Mực nang của bạn được xử lý bởi SwiftShader. SwiftShader là phần mềm triển khai API OpenGL và Vulkan. Vì SwiftShader là một triển khai phần mềm nên nó cung cấp giải pháp kết xuất có thể truy cập toàn cầu cho Mực nang có khả năng chạy trên bất kỳ máy chủ nào.

Tuy nhiên, sử dụng SwiftShader không mang lại hiệu quả như một thiết bị bình thường. Kết xuất là một vấn đề song song có thể được song song hóa trên diện rộng, vì các giá trị pixel có thể được tính toán độc lập. Đơn vị xử lý đồ họa (GPU) là đơn vị phần cứng giải quyết vấn đề này bằng cách tăng tốc kết xuất.

Yêu cầu

Chế độ đồ họa tăng tốc yêu cầu máy chủ phải có:

  • Trình điều khiển có khả năng EGL hỗ trợ tiện ích mở rộng GL_KHR_surfaceless_context
  • Trình điều khiển có khả năng OpenGL ES
  • Trình điều khiển có khả năng Vulkan

Sử dụng chế độ đồ họa tăng tốc

Luồng Gfx

Để sử dụng chế độ đồ họa tăng tốc GfxStream, hãy khởi chạy thiết bị Mực nang cục bộ của bạn bằng cờ --gpu_mode=gfxstream . Sử dụng chế độ này, các lệnh gọi API OpenGL và Vulkan được chuyển tiếp trực tiếp đến máy chủ.

launch_cvd --gpu_mode=gfxstream

trinh nữ

Để sử dụng chế độ đồ họa tăng tốc Virgl, hãy khởi chạy thiết bị Mực nang cục bộ của bạn bằng cờ --gpu_mode=drm_virgl .

launch_cvd --gpu_mode=drm_virgl

Khi sử dụng chế độ đồ họa tăng tốc Virgl, các lệnh gọi API OpenGL được dịch sang dạng biểu diễn trung gian (xem Gallium3D ). Biểu diễn trung gian được truyền tới máy chủ và thư viện virglrenderer trên máy chủ sẽ dịch biểu diễn trung gian trở lại các lệnh gọi API OpenGL.