如果我将我的引擎称为Vulkan实例中的另一个引擎,我能得到什么?

时间:2017-01-11 14:15:56

标签: vulkan

我的问题是:
例如,当我将VkApplicationInfo的字段填充为

appInfo.pEngineName = "Unreal Engine";
appInfo.engineVersion = VK_MAKE_VERSION(4, 0, 0);

(只是猜测)  Nvidia驱动程序将找到名称和版本并尝试优化一些虚幻引擎Vulkan命令以使引擎运行更快,但这不是虚幻引擎,这是我的引擎具有不同的架构。那么我能期待什么呢? 附:这可以是任何引擎或游戏,不仅仅是虚幻的:)

1 个答案:

答案 0 :(得分:5)

让我们将其分解为您的实际问题:如果您在市场上获取实际引擎的应用程序名称和版本并将其与未使用该引擎的产品一起使用,会发生什么?请注意,虚幻引擎可能不会将自己的“虚幻引擎”称为Vulkan实现。

几乎可以肯定使您的代码更快。如果应用于虚幻引擎代码的优化可以应用于您的,那么他们已经做到了并且不关心。特定于应用程序的优化是有效的,因为实现知道在应用程序特定使用API​​方面会发生什么。他们使用了多少个命令缓冲区。有多少描述符和类型等等。违反这些条件,如果不是完全失败,你可能会得到次优的性能。

不要欺骗Vulkan实施。这对任何人都没有好处。习惯性的说谎只会让他们使用旧的方法来找出程序正在使用的引擎。