Nikita Krupitskas
Nikita Krupitskas

Reputation: 61

What can I expect if I call my engine as some another engine in Vulkan instance?

My question is:
for example, when I fill field of my VkApplicationInfo as

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

(Just guessing).
Nvidia driver will find name and version and try optimize some Unreal Engine Vulkan commands to make engine run faster, but this is not Unreal Engine, this is my engine with different architecture. So what I can expect?
P.S. This can be any engine or game, not only Unreal :)

Upvotes: 1

Views: 538

Answers (1)

Nicol Bolas
Nicol Bolas

Reputation: 474086

Let's break this down into your actual question: what happens if you take the application name and version of an actual engine on the market and use it with your product which is not using that engine? Note that the Unreal engine may not call itself "Unreal Engine" to Vulkan implementations.

It will almost certainly not make your code faster. If the optimizations being applied to Unreal engine code could be applied to yours, then they'd do that already and wouldn't care. Application specific optimizations work because the implementation knows what to expect, in terms of that applications particular use of the API. How many command buffers they use. How many descriptors and of what types, etc. Violate those conditions and you'll likely get suboptimal performance, if not outright failures.

Do not lie to Vulkan implementations. It is to nobody's benefit. Habitually lying will simply make them use older methods to find out what engine a program is using.

Upvotes: 5

Related Questions