Vulkan 是一种现代跨平台 3D 图形 API,旨在最大程度地减少设备图形硬件与游戏之间的抽象。Vulkan 是 Android 上主要的低级图形 API,取代了 OpenGL ES。Android 仍然支持 OpenGL ES,但不再对其进行活跃的功能开发。Vulkan 相比 OpenGL ES 具有以下优势:
- 更高效的架构,图形驱动程序中的 CPU 开销更低
- 新的优化策略可提高 CPU 性能
- OpenGL ES 中没有的新图形功能,例如无绑定 API 和光线追踪
Vulkan 从 Android 7(API 级别 24)开始在 Android 上可用。Android 10(API 级别 29)及更高版本的所有 64 位 Android 设备均支持 Vulkan 1.1。85% 的活跃 Android 设备支持 Vulkan。Android 基准配置文件定义了支持 Vulkan 的设备的最低功能集。
Vulkan 可帮助您创建外观更好、性能更高的游戏。Vulkan 充分释放了现代图形硬件的潜力。Vulkan 被兼容设备上的 Android UI 渲染框架使用。当前版本的 Unity 和 Unreal 游戏引擎在兼容 Android 设备上选择 Vulkan 作为其默认渲染器。ANGLE 项目在 Vulkan 之上实现了符合规范的 OpenGL ES API。
开始使用
C/C++
要了解如何在 Android 上的 C/C++ 游戏引擎中使用 Vulkan,请参阅Android 上的 Vulkan 入门。
此外,原生开发套件 (NDK) 文档中有一个通用的 Vulkan 部分,适用于非游戏开发者,涵盖以下主题:
- 用于提高性能的着色器编译器
- 用于 Vulkan 代码调试的验证层
- 用于自定义功能的Vulkan 扩展
- 设备要求的Android 基准配置文件
游戏引擎
关于 ANGLE
Vulkan 是 Android 首选的 GPU 接口。Android 15 及更高版本包含 ANGLE 作为可选层,用于在 Vulkan 之上运行 OpenGL ES。迁移到 ANGLE 可标准化 Android OpenGL 实现,以提高兼容性,在某些情况下还能提高性能。
使用以下两条 adb 命令为您的软件包启用 ANGLE,以在各种 Android 15+ 设备上测试您的 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 路线图
报告 ANGLE 问题
如果您遇到任何 ANGLE 问题,请通过我们的问题跟踪器提交,向我们报告。