我的问题是:
例如,当我填写我的领域VkApplicationInfo
为
appInfo.pEngineName = "Unreal Engine"; appInfo.engineVersion = VK_MAKE_VERSION(4, 0, 0);
(只是猜测).
Nvidia驱动程序将找到名称和版本并尝试优化一些虚幻引擎Vulkan命令以使引擎运行更快,但这不是虚幻引擎,这是我的引擎具有不同的架构.那么我能期待什么?
PS这可以是任何引擎或游戏,不仅虚幻:)
让我们将其分解为您的实际问题:如果您在市场上获取实际引擎的应用程序名称和版本并将其与未使用该引擎的产品一起使用,会发生什么?请注意,虚幻引擎可能不会将自己的"虚幻引擎"称为Vulkan实现.
它几乎肯定不会使你的代码更快.如果应用于虚幻引擎代码的优化可以应用于您的,那么他们已经这样做了,并不关心.特定于应用程序的优化是有效的,因为实现知道在应用程序特定使用API方面会发生什么.他们使用了多少个命令缓冲区.有多少描述符和类型等等违反这些条件,如果不是完全失败,你可能会获得次优的性能.
不要欺骗Vulkan实施.这对任何人都没有好处.习惯性的说谎只会让他们使用旧的方法来找出程序正在使用的引擎.