Ускоренный графический режим Cuttlefish использует физический графический процессор (GPU) вашего хост-компьютера для рендеринга, передавая гостевые команды рендеринга на ваш хост-компьютер, выполняя вызовы команд рендеринга на вашем хост-компьютере и передавая обработанные результаты обратно на гостевую машину.
Устройство Cuttlefish, работающее под управлением Android 11 или более поздней версии, обнаруживает и использует ускоренную графику. Если хост-компьютер не поддерживает ускоренную графику или версия Android — Android 10 или ниже, гостевой рендеринг (например, пользовательский интерфейс и воспроизведение видео) на вашем устройстве Cuttlefish обрабатывается SwiftShader. SwiftShader — это программная реализация API OpenGL и Vulkan. Поскольку SwiftShader — это программная реализация, он предоставляет универсально доступное решение для рендеринга для Cuttlefish, способное работать на любой хост-машине.
Однако использование SwiftShader не так производительно, как обычное устройство. Рендеринг — это параллельная задача, которая может быть массово распараллелена, поскольку значения пикселей могут вычисляться независимо. Графические процессоры (GPU) — это аппаратные блоки, которые решают эту проблему путем ускорения рендеринга.
Требования
Для режима ускоренной графики хосту необходимо иметь:
- Драйвер с поддержкой EGL, поддерживающий расширение
GL_KHR_surfaceless_context
- Драйвер с поддержкой OpenGL ES
- Драйвер с поддержкой Vulkan
Используйте ускоренные графические режимы
GfxStream
Чтобы использовать ускоренный графический режим GfxStream, запустите локальное устройство Cuttlefish с флагом --gpu_mode=gfxstream
. При использовании этого режима вызовы API OpenGL и Vulkan перенаправляются напрямую на хост.
launch_cvd --gpu_mode=gfxstream
Виргль
Чтобы использовать ускоренный графический режим Virgl, запустите локальное устройство Cuttlefish с флагом --gpu_mode=drm_virgl
.
launch_cvd --gpu_mode=drm_virgl
При использовании ускоренного графического режима Virgl вызовы API OpenGL транслируются в промежуточное представление (см. Gallium3D ). Промежуточное представление передается хосту, а библиотека virglrenderer на хосте транслирует промежуточное представление обратно в вызовы API OpenGL.
,Ускоренный графический режим Cuttlefish использует физический графический процессор (GPU) вашего хост-компьютера для рендеринга, передавая гостевые команды рендеринга на ваш хост-компьютер, выполняя вызовы команд рендеринга на вашем хост-компьютере и передавая обработанные результаты обратно на гостевую машину.
Устройство Cuttlefish, работающее под управлением Android 11 или более поздней версии, обнаруживает и использует ускоренную графику. Если хост-компьютер не поддерживает ускоренную графику или версия Android — Android 10 или ниже, гостевой рендеринг (например, пользовательский интерфейс и воспроизведение видео) на вашем устройстве Cuttlefish обрабатывается SwiftShader. SwiftShader — это программная реализация API OpenGL и Vulkan. Поскольку SwiftShader — это программная реализация, он предоставляет универсально доступное решение для рендеринга для Cuttlefish, способное работать на любой хост-машине.
Однако использование SwiftShader не так производительно, как обычное устройство. Рендеринг — это параллельная задача, которая может быть массово распараллелена, поскольку значения пикселей могут вычисляться независимо. Графические процессоры (GPU) — это аппаратные блоки, которые решают эту проблему путем ускорения рендеринга.
Требования
Для режима ускоренной графики хосту необходимо иметь:
- Драйвер с поддержкой EGL, поддерживающий расширение
GL_KHR_surfaceless_context
- Драйвер с поддержкой OpenGL ES
- Драйвер с поддержкой Vulkan
Используйте ускоренные графические режимы
GfxStream
Чтобы использовать ускоренный графический режим GfxStream, запустите локальное устройство Cuttlefish с флагом --gpu_mode=gfxstream
. При использовании этого режима вызовы API OpenGL и Vulkan перенаправляются напрямую на хост.
launch_cvd --gpu_mode=gfxstream
Виргль
Чтобы использовать ускоренный графический режим Virgl, запустите локальное устройство Cuttlefish с флагом --gpu_mode=drm_virgl
.
launch_cvd --gpu_mode=drm_virgl
При использовании ускоренного графического режима Virgl вызовы API OpenGL транслируются в промежуточное представление (см. Gallium3D ). Промежуточное представление передается хосту, а библиотека virglrenderer на хосте транслирует промежуточное представление обратно в вызовы API OpenGL.