By supporting Direct3D 12, Godot gains support for multiple new platforms, such as:
- Windows Store (UWP).
- Windows on ARM.
- GDK.
- XBox —which can’t be supported officially by Godot, but for which Direct3D 12 support is essential—.
Depending on the complexity of the scene, effects used, etc., this first version of the renderer performs generally worse than the Vulkan one. In some tests, D3D12 has not been able to deliver more than 75% of the Vulkan frames per second. In some other, D3D12 has been able to outperform Vulkan by a small margin. Performance improvements will be ironed out over time.
Expect it to come in Godot 4.3
I want to encourage people to value software freedom. I am unsure of the effect of supporting proprietary platforms has on that. This feels uncomfortable.
@tabular still, it’s just an api. Freedom is also ability to use windows if you want. Besides, what if someone wants to use ReactOS?
You should be free to choose something which isn’t in your own best interests.
I feel bad even giving a Windows build as I am responsible for enabling that self injury, but hope their use of free software will help them switch in the end.
So dont use it?
This comment every time 😐
What else do you want to happen? DX is essential for porting to xbox and some versions of Windows. It’s not about open source, devs need this. By your logic should everyone just make a Linux build and nothing else because they’re proprietary and evil?
One dev succeeding without those won’t prove all other devs can but I hope if I do succeed that will convince some devs maybe they don’t “need” proprietary solutions.
I am uncertain if building just for Linux would be better or worse became there is some merit to uninformed users having free software on their proprietary devices.
Maybe it helps to think of it as a transitional state?
Perhaps this may help people learn of Godot, and maybe see that they could be playing some game made by Godot on open platforms. Vulkan does a good job though so I think it would be better if devs stopped depending on directX/box.