Microsoft has done a good job with developing and promoting D12U with it being the backbone of RDNA 2 and also being heavily pushed and promoted by Nvidia.
Mesh Shaders, VRS, Sampler Feedback Streaming, Dirext ML, Direct RT, Direct Storage amongst other things
With DX12U being the API or choice for Xbox, RDNA 2 and even Nvidia, would most multiplat devs default to using it as their lead API? If 70% of their customers are going to be gaming on Xbox or PC, surely it makes their life easier to make this the API then run with.
So if multiplat devs begin to use DX12 U and its extensions like Mesh Shaders, VRS, SFS and the like, would this hamper the PS5 versions of the games? The PS5 doesn’t have VRS, Mesh Shaders or SFS, so it may miss out on alot of these, especially considering their GE is the outlier here.
We know PC is usually the lead now on development, so the chances that outside of first party games, the PSs GE isn’t really going to be utilised.
if they use mesh shaders, or vrs then obviously yeah, dx12U will be the default api I would think because the ps5 doesn’t even support those hardware features. though, I suppose they could also use vulkan, which also an api that also has support for mesh shaders and vrs.
I don’t think it means much tbh. Most of these features are abstracted away in the game engines. Meaning the devs that make the engines will design the engines to use these features automatically for systems that support them and use an alternative for systems that don’t. This is how cross-platform software is done usually. Most of the devs making games will be using the game engine APIs.
The gfx card makers also need to add the ability to use certain functions and APIs to their various cards.
As it stands, VRS, Mesh Shaders, SF etc are only able to be used in AMD cards via DX12U, while Nvidia offers it via DX12U and others.
So if you are a dev, and both Xbox, AMD and Nvidia use DX12U for those extensions, you are more likely to use the one API and port across to PS5 after, rather than use Vulkan on Nvidia, DX on AMD and Xbox and Sony’s API on PS5, especially when only DX supports Sampler Feedback.
It really is the easiest option at this point. My question then is if Devs use DX12U across PC and Xbox, and utilize those specific extensions such as Mesh Shading, VRS and Sampler Feedback, not to mention Direct Storage when SSDs become more common in PC’S, how will the PS go with not having those features?
Its going to put it at a disadvantage no?
I get your point but most devs will write to the engine APIs not to DirectX or some other platform API. Those are abstracted away by the engine. Now the ppl that work on the engine will be in charge of taking advantage of those platform specific features and optimizing the engine performance for the different platforms.
Those features you mention will make optimizing the engine easier for the devs that work on it. If the PS5 doesn’t have those features sure it might put it at a disadvantage but if they have similar enough features even if it is a different API it shouldn’t matter.
DX12Ultimate just mirrors functionality in Vulkan. Hate to break the illusion but outside of permanent first party studios almost nobody actually uses DirectX as a core for their engine (unless they’re happy being Windows only) or makes a DX-only engine, DirectX is just used as a layer in their Windows and Xbox builds.
DirectX has also specifically tracked OpenGL features so that they’ve remained in parity since DirectX was a thing. The whole entire point of the DX12U was to catch up to Vulkan, for example.
Unreal Engine has their own API called RHI that makes the required further calls to DX or GL/Vulkan
Source was OpenGL based (as was all idtech-descended engines)
even before consoles if you wanted a Mac version you needed to be OpenGL compatible anyway, and OpenGL was used as the core on Sony and Nintendo consoles since the PS2 and GameCube. You have to be GL-compatible if you want to release on a phone, period.
I don’t have a link handy but you can look at the adoption rate of various versions of DirectX, and it took a while for people to move to DirectX 11, and the adoption of Direct X 12 was shockingly low. You look at a game like Flight Sim and that’s still using DirectX 11 IIRC.
DX12U needs new and expensive hardware features that isn’t common now and with these new cards being scarce for the foreseeable future, there isn’t really a good reason to making game from the ground-up for it.
And my fear is that this adoption rate is going to be slow to due to many people buying the cards just to mine cryptocurrencies.
This may be solved when both GPU makers create mining specific cards that offer more bang for the buck… But until then you’re going to have a miner buying eight cards for their mining rig that could have powered eight gaming PCs, which in turn slows the adoption rate of these cards and gives developers less of a reason to create games specifically for them.
The api themselves doesn’t matter much, Vulkan and Sony apis already try to be as close as possible to DX so porting is easier.
The hardware features Ps5 lacks are not deal breaker either, it eithers impact performance gains, or make some implementations slightly more complicated (so the alternative is just not to use it and also have a performance impact), so no biggie, especially given there’s already an sizeable performance gap between the machines anyway.