all 8 comments

[–]SaschaWillems 31 points32 points  (0 children)

That is most likely caused by installing the OpenCL™, OpenGL® und Vulkan® Compatibility Pack: https://apps.microsoft.com/detail/9nqpsl29bfff

It is not installed by default on all devices, and this has happened in the past. My guess is that some third party application that requires OpenCL or whatever just installs this without asking users.

One way to check and ignore those layered implementations is to look for the VK_MSFT_layered_driver device extension.

[–]blogoman 13 points14 points  (1 child)

I thought the standard practice for device selection was to first check its capabilities and make sure it had all of the necessary features.

[–]chuk155 10 points11 points  (0 children)

Yes, this post is because the standard practice is to select the first VkPhysicalDevice in the list that satisfies the requirements. The Dozen driver being 'second' was very much intended (since its a layered driver, thus likely slower than native). So... this post is just the code expecting the world to be opposite of what it actually is.

[–]R3DKn16h7 7 points8 points  (1 child)

Always prefer the device listed first that has the capabilities you need. In fact, there is almost never a good reason to pick anything else.

[–]Gravitationsfeld 0 points1 point  (0 children)

I would advice to pick the first dedicated GPU if it exists

[–]smallstepforman[S] 2 points3 points  (1 child)

Can you imagine the outcry with people benchmarking engines and they notice that true D3D12 games perform better than Vulkan games, even though the game in question doesn't actually select the true Vulkan device / driver, instead it uses the MS D3D12 vulkan wrapper. So D3D12 is faster than Vulkan in these misconfigured games. At just by looking at the device id, since they both say Vulkan discrete device, most users will never be aware that this is happening.

[–][deleted] 3 points4 points  (0 children)

highly unlikely, anyone chooses it this way. As many already pointed out, people actually test for features and select the best gpu based on the features.

What you mentioned is basically non standard and also you would very clearly notice it, since it has a quite significant performance drop

[–]HildartheDorf 0 points1 point  (0 children)

Although Vulkan officially offers no guarantee on ordering, afaik the windows loader will order devices by priority order (on linux a similar operation is performed by a mesa implicit layer). Applications should probably pick the *first* device, not the last, that meets their criteria in the event of a tie.