Open
Description
Explicit APIs like D3D12 and Vulkan want you to assign resource memory by allocating big chunks of memory and then sub-allocating them. The Vulkan backend currently does this, and it can also defragment these chunks without stalling, which is pretty neat.
D3D12 provides a shortcut in the form of CreateCommittedResource, which creates a resource on its own implicit heap. The D3D12 backend is using this approach right now, and because of this the performance will be inferior to Vulkan.
We should definitely have the D3D12 backend follow the same allocation strategy as Vulkan, but it's a lot of work. For now at least we should probably prefer Vulkan on Windows, at least until this is resolved.