将 Vulkan 用于图形

Vulkan 是一种现代化跨平台 3D 图形 API,利用它可以最大限度减少设备图形硬件与您游戏之间的抽象处理。Vulkan 是 Android 上的主要底层图形 API,用于取代 OpenGL ES。OpenGL ES 在 Android 上仍受支持,但我们已不再开发其功能。与 OpenGL ES 相比,Vulkan 具有以下优势:

  • 采用更高效的架构,图形驱动程序的 CPU 开销更低
  • 通过新的优化策略提高了 CPU 性能
  • 具有无绑定 API、光线追踪等 OpenGL ES 所不具备的全新图形功能

Vulkan 从 Android 7(API 级别 24)起在 Android 上提供。所有搭载 Android 10(API 级别 29)及更高版本的 64 位 Android 设备均支持 Vulkan 1.1。85% 的活跃 Android 设备支持 Vulkan。Android 基准配置文件为支持 Vulkan 的设备定义了最低限度的功能集。

Vulkan 可以帮助您打造画面更细腻、性能更出色的游戏。Vulkan 可充分发挥现代图形硬件的潜力。在兼容的设备上,通过 Android 界面渲染框架来使用 Vulkan。Unity 和 Unreal 游戏引擎的现行版本均选择 Vulkan 作为兼容的 Android 设备上的默认渲染程序。ANGLE 项目使得在 Vulkan 的基础上以符合要求的方式实现 OpenGL ES API 成为可能。

开始

C/C++

如需了解如何在 Android 上的 C/C++ 游戏引擎中使用 Vulkan,请参阅 开始在 Android 上使用 Vulkan

此外,原生开发套件 (NDK) 文档中还提供了面向非游戏开发者的通用 Vulkan 部分,其中介绍了以下主题:

游戏引擎

ANGLE 简介

Vulkan 是 Android 与 GPU 的首选接口。Android 15 及更高版本包含 ANGLE 作为可选层,用于在 Vulkan 基础上运行 OpenGL ES。改用 ANGLE 可标准化 Android OpenGL 实现,提高兼容性,在某些情况下还有助于提升性能。

使用以下两个 adb 命令为您的软件包启用 ANGLE,然后使用各种 Android 15 及更高版本的设备通过 ANGLE 测试 OpenGL ES 应用的稳定性和性能。将“package-name”替换为要测试的软件包。

adb shell settings put global angle_gl_driver_selection_pkgs package-name

adb shell settings put global angle_gl_driver_selection_values angle

这些设置会在设备重新启动后保留。如需停用 ANGLE,请使用以下命令:

adb shell settings delete global angle_gl_driver_selection_pkgs

adb shell settings delete global angle_gl_driver_selection_values

Android ANGLE on Vulkan 路线图

Android ANGLE on Vulkan 路线图

报告 ANGLE 问题

如果您在使用 ANGLE 时遇到任何问题,请在我们的问题跟踪器中提交问题报告,以便我们进行调查。