我应该使用Vulkan装载机吗?

时间:2017-08-24 18:51:07

标签: vulkan

根据子主题“Loader的应用程序接口”下的vulkan sdk文档,设置Vulkan接口的最佳性能方法是

https://vulkan.lunarg.com/doc/view/1.0.57.0/windows/LoaderAndLayerInterface.html#user-content-best-application-performance-setup

但我不知道如何实际实现这个,或者是否有一个库已经这样做了。

作为旁注,如果我选择使用加载器库,哪里是所有非核心非wsi函数的列表?

2 个答案:

答案 0 :(得分:0)

查看英特尔教程的first part或Vulkan Cookbook中的code samples。它们包含有关如何连接Vulkan库以及如何动态加载函数指针的信息。

至于扩展名列表 - 你需要所有这些吗?启用所有已发布的实例和设备扩展并不是一个好主意,因为它会极大地限制运行代码的设备。只需选择项目所需的扩展,在实例和/或设备创建期间启用它们,并(如有必要)使用上面提供的链接中提供的代码加载它们的功能。

答案 1 :(得分:0)

你应该使用装载机,几乎没有充分的理由不这样做。最简单的方法是链接加载程序库,但如果您的应用程序可能需要在没有安装Vulkan驱动程序的系统上运行(即使它只需要运行足以显示错误消息),那么您应该动态加载加载程序库。

即使您正在使用加载程序,也可以通过调用通过vkGetDeviceProcAddr获取的函数来获得与未使用加载程序相同的性能。当你这样做时,你直接调用驱动程序,加载程序的开销几乎为零。

所有可用的扩展都在vulkan.h中。扩展命令(函数)按提供它们的扩展名进行排序,因此很容易分辨出特定命令所需的扩展名。您还可以查看spec;每个扩展名都在附录中列出,包含它添加的结构和命令列表。