Reputation: 61
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
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