Vulkan 示例

设置
先决条件:具有 git 大文件存储 (git-lfs) 的 git。
使用以下命令克隆带有子模块的存储库
git clone --recurse-submodules https://github.com/KhronosGroup/Vulkan-Samples.git
cd Vulkan-Samples
按照以下适用于您平台的构建说明进行操作。
完整的存储库非常大,并且某些 ISP 在进行克隆时似乎难以提供与 github 的稳定连接。 如果您注意到诸如子模块下载的报告速率为每秒数十 KB,或者发生致命超时错误等问题,则这些问题可能是由于您 ISP 内部网络中到 github 的网络路由问题所致,而不是您自己的网络设置中的任何问题。 让 ISP 承认存在此类问题非常困难,更不用说修复它们了。 一种解决方法是在下载子模块之前切换存储库以使用 ssh 协议,这可以通过例如以下方式完成:
如果遇到此连接问题,这可能是一个不错的选择,但您必须设置 GitHub ssh 密钥身份验证才能使用 ssh 协议 - 有关详细信息,请参阅 使用 SSH 连接到 GitHub。因此,它不是我们可以作为存储库默认值实现的解决方案。 另一个可能有所帮助的选项是通过 VPN 服务运行 github。 |
用法
以下展示了一些命令行使用示例,说明如何配置和运行 Vulkan 示例。
请确保从仓库的根目录运行示例。否则,示例将无法找到资源。 ./build/app/bin/<BuildType>/<Arch>/vulkan_samples
# For the entire usage use
vulkan_samples --help
# For subcommand usage use
vulkan_samples <sub_command> --help
# Run Swapchain Images sample
vulkan_samples sample swapchain_images
# Run AFBC sample in benchmark mode for 5000 frames
vulkan_samples sample afbc --benchmark --stop-after-frame 5000
# Run compute nbody using headless_surface and take a screenshot of frame 5
# Note: headless_surface uses VK_EXT_headless_surface.
# This will create a surface and a Swapchain, but present will be a no op.
# The extension is supported by Swiftshader(https://github.com/google/swiftshader).
# It allows to quickly test content in environments without a GPU.
vulkan_samples sample compute_nbody --headless_surface -screenshot 5
# Run all the performance samples for 10 seconds in each configuration
vulkan_samples batch --category performance --duration 10
# Run Swapchain Images sample on an Android device
adb shell am start-activity -n com.khronos.vulkan_samples/com.khronos.vulkan_samples.SampleLauncherActivity -e sample swapchain_images
许可证
贡献
由 Arm 捐赠给 Khronos,并由 Sascha Willems 和 Adam Sawicki 进一步贡献。请参阅 CONTRIBUTORS 查看完整的贡献者列表。
另请参阅 CONTRIBUTING 获取贡献指南。
相关资源
-
Mali GPU 最佳实践:一份关于高效 API 使用建议的文档