Jump to content
The Lotus Eaters: Share Bug Reports and Feedback Here! ×

Please consider Vulkan instead of DirectX 12.


auxy
 Share

Recommended Posts

As an introduction, DirectX 12 and Vulkan are new graphics programming interfaces available on the latest graphics hardware. They are both difficult APIs to work with, owing to the demands of programming GPUs at a relatively low level. You have to manage your memory yourself, you have to keep from doing all the same stupid multi-threading things that people do on CPUs; it's a pain compared to the relatively idiot-proof nature of DX11. The advantage of these new APIs is that they offer immense gains in performance—particularly on the many-core CPUs that are rapidly becoming commonplace thanks to AMD's Ryzen chips.

In today's Devstream, Steve commented offhandedly that they're working on a DX12 backend for the game. OVERALL I think this is very good news. The biggest performance benefit to be found from DX12 and Vulkan, in comparison to DX11 or OpenGL, is a drastically improved ability to multi-thread the CPU portion of graphics workloads. On PCs with fast graphics cards, Warframe suffers under a major CPU limitation, especially in open-world zones. (I have made the stab in the dark that this limitation is due to geometry overhead; excess draw calls.)

However, I beg, I implore you at Digital Extremes to consider Vulkan instead of DirectX 12. Admittedly, there aren't a lot of technical reasons to do so—on Windows, the two APIs offer fundamentally similar feature sets, although I might argue that Vulkan is a bit more developed (while DX12 is a bit better-documented.)

Still, there ARE business reasons to do so. Vulkan code is much easier to move to the Japanese gaming hardware, as well as mobile devices. Vulkan games are also much easier to get working on Linux, and even Mac (with MoltenVK). Unlike DX12, Vulkan will work on Windows 7, and yes, I know it's not supported anymore, but I assure you there will be millions of die-hards hanging onto it for years to come—notably, in China.

The only real argument in favor of DirectX 12, comparisonwise, is that it's very easy to move Windows 10 games running on DirectX 12 to the Xbox One, but even that's not as clear-cut as it seems. As id Software's Axel Gneiting points out, code written for a Windows DX12 target won't achieve full performance on the Xbox, and will require platform-specific optimizations. Other game companies are adopting Vulkan, too, like Ubisoft, IO Interactive, Crystal Dynamics, Hello Games, Monolith Productions, Codemasters, and of course none other than Valve Software.

I'm not a hardcore FSF zealot. I use Windows to play games every day. Ultimately, whether Warframe adopts DX12 or Vulkan won't have a large effect on my personal experience with the game. For the sake of the future of the product, though, I really hope you [Digital Extremes] move away from DX12 and toward the open software alternative. Ask your friends at Panic Button whether they'd rather be porting DirectX or Vulkan code to the Switch! ( `ー´)ノ

  • Like 1
Link to comment
Share on other sites

Vulkan is even more work however, so while Vulkan has very strong merits, it's low adoption rate is understandable based on that almost nobody has Programmers with the experience/time for it to be a viable option. Dx12 is less extreme on that trend, though that's not really saying much.

we must be careful as, Dx12 or Vulkan support has in the past and in the future can be offered by wrapping the game. which by the nature of wrapping isn't that exciting and usually the opposite. but you get to be able to put the word on your marketing, and that's been appealing enough for some games to go that route.

  • Like 2
Link to comment
Share on other sites

41 minutes ago, auxy said:

Vulkan games are also much easier to get working on Linux, and even Mac (with MoltenVK).

Neither of which are platforms DE supports.

42 minutes ago, auxy said:

However, I beg, I implore you at Digital Extremes to consider Vulkan instead of DirectX 12.

42 minutes ago, auxy said:

I really hope you [Digital Extremes] move away from DX12 and toward the open software alternative.

You're making an emotional plea for a technical problem that you note has almost no difference between your advocated method and the proposed method.

44 minutes ago, auxy said:

Ask your friends at Panic Button whether they'd rather be porting DirectX or Vulkan code to the Switch! ( `ー´)ノ

And if they have already?

  • Like 1
Link to comment
Share on other sites

4 hours ago, auxy said:

Other game companies are adopting Vulkan, too, like Ubisoft, IO Interactive, Crystal Dynamics, Hello Games, Monolith Productions, Codemasters, and of course none other than Valve Software.

Egosoft as well (X4 was released as Vulkan only).

Count me firmly in the Vulkan camp. Cross-platform compatibility would be the main draw for the devs, the main appeal for me is that it works under Win 7 and 8.1 (Linux too, but the game reportedly doesn't work that well under Wine).

Link to comment
Share on other sites

Relevant, from today: https://www.pcgamer.com/rainbow-six-siege-vulkan/

7 hours ago, peterc3 said:

Neither of which are platforms DE supports.

Enabling more users to use your product is never a bad thing, even if it's unsupported. To put it another way, "not making things specifically more difficult for your users is never a bad thing, even if you don't officially support their efforts."

7 hours ago, peterc3 said:

You're making an emotional plea for a technical problem that you note has almost no difference between your advocated method and the proposed method.

Bad faith argument. In the end it will have almost no direct impact on my personal experience with the game, but it could indeed have far-reaching implications. (I would also simply like to encourage adoption of Vulkan over DX12, as I have significant ideological differences with Microsoft these days.)

7 hours ago, peterc3 said:

And if they have already?

Another bad faith argument. The Evolution engine is constantly being extended and expanded with new graphics functions. Just today, aside from the new deferred renderer, they also showed off a new type of particle effect. That will have to be converted from HLSL to OpenGL or Vulkan for the Switch port -- if it were in Vulkan, that task could be much simpler.

Edited by auxy
addressing peterc3's usual bad faith arguments
  • Like 1
Link to comment
Share on other sites

6 hours ago, auxy said:

could indeed have far-reaching implications

Then name them. If it is simply better support for OSX and Linux, they are unsupported platforms. The decisions they make will be towards bettering their supported platforms, not making a good experience for the ones they aren't supporting.

Address DX12 being worse for their game on Windows and the consoles.

6 hours ago, auxy said:

Another bad faith argument. The Evolution engine is constantly being extended and expanded with new graphics functions. Just today, aside from the new deferred renderer, they also showed off a new type of particle effect. That will have to be converted from HLSL to OpenGL or Vulkan for the Switch port -- if it were in Vulkan, that task could be much simpler.

You are making an assertion that you aren't even bothering to fully support. Is it or is it not more complicated? If you can't answer that, it isn't a point in your favor, it's a reason to change nothing from what they are doing.

They could move to Vulkan and their HQ burns down. That isn't a reason to stay with DX12. You like Vulkan, that's fine. You're coming off as a Vulkan evangelist rather than a player with a knowledge of what is and what could be, informing a difference of the current path.

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...