Jump to content

DX12 & Vulkan must be a must going forward.

Khader87

DX12 and Vulkan are no essential in every game, im surprised that big titles like BO4, assassins creed... Etc are still not supporting atleast DX12! amd im sure that they dont want to waste their time and money into optimizing games because they are greedy. 

 

I have vega 64 and i7 4790 and when using DX12 i get around 20% increase in performance and steady FPS, same goes to Vulkan 

 

In 2019 all developers should have DX12 enabled in their games and AMD should do something to encourage them as their cards work better on them. 

 

Link to comment
Share on other sites

Link to post
Share on other sites

i wish games would just use Vulkan and we would have an easier time moving them all over to Linux

I spent $2500 on building my PC and all i do with it is play no games atm & watch anime at 1080p(finally) watch YT and write essays...  nothing, it just sits there collecting dust...

Builds:

The Toaster Project! Northern Bee!

 

The original LAN PC build log! (Old, dead and replaced by The Toaster Project & 5.0)

Spoiler

"Here is some advice that might have gotten lost somewhere along the way in your life. 

 

#1. Treat others as you would like to be treated.

#2. It's best to keep your mouth shut; and appear to be stupid, rather than open it and remove all doubt.

#3. There is nothing "wrong" with being wrong. Learning from a mistake can be more valuable than not making one in the first place.

 

Follow these simple rules in life, and I promise you, things magically get easier. " - MageTank 31-10-2016

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Aside from ray tracing, DX11 and DX12 have the same graphics feature set. Meaning the two API can generate effectively the same quality image. I imagine OGL and Vulkan are similar in this regard. The only reason why a developer would consider DX12 or Vulkan is they need more performance, identified the issue as CPU bound on the graphics/compute job compiling end, and they've squeezed DX11 or OGL dry of options.

 

DX12 and Vulkan from what can be gleaned isn't really an easy API to work with, so you shouldn't use it just because. Otherwise you'll get worse results.

Link to comment
Share on other sites

Link to post
Share on other sites

I do agree, Assassins Creed is such a CPU hog although considering the aggressive DRM they use, I'm not sure if moving to DX12 would help.  Still, I'd hope to see Ubisoft attempt Raytracing in their future games, so that might push them to do it (Raytracing is a DX12 feature).

Trouble is DX12 requires an engine written from the ground up to get any of the benefits out of it, games where it was shoe-horned in afterwards have typically performed WORSE than in DX11 mode.  So while their current engine is still performing "good enough", I don't see it happening.  We can hope once the next-gen consoles come out there is motivation, but who knows.

 

This is made harder by many developers licensing engines and middleware from different vendors which all have to interoperate and have licensing deals attatched.  I can't remember which game it was, but I recall some time ago a developer said they couldn't port a game to Linux simply because the middleware is only licensed for use/compiled on Windows.

Router:  Intel N100 (pfSense) WiFi6: Zyxel NWA210AX (1.7Gbit peak at 160Mhz)
WiFi5: Ubiquiti NanoHD OpenWRT (~500Mbit at 80Mhz) Switches: Netgear MS510TXUP, MS510TXPP, GS110EMX
ISPs: Zen Full Fibre 900 (~930Mbit down, 115Mbit up) + Three 5G (~800Mbit down, 115Mbit up)
Upgrading Laptop/Desktop CNVIo WiFi 5 cards to PCIe WiFi6e/7

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, M.Yurizaki said:

Aside from ray tracing, DX11 and DX12 have the same graphics feature set. Meaning the two API can generate effectively the same quality image. I imagine OGL and Vulkan are similar in this regard. The only reason why a developer would consider DX12 or Vulkan is they need more performance, identified the issue as CPU bound on the graphics/compute job compiling end, and they've squeezed DX11 or OGL dry of options.

 

DX12 and Vulkan from what can be gleaned isn't really an easy API to work with, so you shouldn't use it just because. Otherwise you'll get worse results.

But DX11 DOES make a lot of games CPU bound.  Its insane the CPU requirements Assassins Creed Odyssey needs to run at 4K 60fps, and the Assassins Creed games in general have had a CPU problem all this generation.

The fact they could run at all on console compared to the requirement on PC is testiment to how much better DX12 is.

Router:  Intel N100 (pfSense) WiFi6: Zyxel NWA210AX (1.7Gbit peak at 160Mhz)
WiFi5: Ubiquiti NanoHD OpenWRT (~500Mbit at 80Mhz) Switches: Netgear MS510TXUP, MS510TXPP, GS110EMX
ISPs: Zen Full Fibre 900 (~930Mbit down, 115Mbit up) + Three 5G (~800Mbit down, 115Mbit up)
Upgrading Laptop/Desktop CNVIo WiFi 5 cards to PCIe WiFi6e/7

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Alex Atkin UK said:

But DX11 DOES make a lot of games CPU bound.  Its insane the CPU requirements Assassins Creed Odyssey needs to run at 4K 60fps, and the Assassins Creed games in general have had a CPU problem all this generation.

Mostly on AMD hardware because AMD didn't bother to implement support of DX11 deferred contexts. Aside from that, if you can keep the GPU at 100% utilization with DX11, DX12 is not going to help because you've already saturated the GPU with work.

 

Also without a profile taking a look at what's going on in the game, literally anything can be said about why the game uses so much CPU.

Link to comment
Share on other sites

Link to post
Share on other sites

8 minutes ago, M.Yurizaki said:

Mostly on AMD hardware because AMD didn't bother to implement support of DX11 deferred contexts. Aside from that, if you can keep the GPU at 100% utilization with DX11, DX12 is not going to help because you've already saturated the GPU with work.

 

Also without a profile taking a look at what's going on in the game, literally anything can be said about why the game uses so much CPU.

I thought it was general knowledge that that CPU usage was DRM related.

Linux Daily Driver:

CPU: R5 2400G

Motherboard: MSI B350M Mortar

RAM: 32GB Corsair Vengeance LPX DDR4

HDD: 1TB POS HDD from an old Dell

SSD: 256GB WD Black NVMe M.2

Case: Phanteks Mini XL DS

PSU: 1200W Corsair HX1200

 

Gaming Rig:

CPU: i7 6700K @ 4.4GHz

Motherboard: Gigabyte Z270-N Wi-Fi ITX

RAM: 16GB Corsair Vengeance LPX DDR4

GPU: Asus Turbo GTX 1070 @ 2GHz

HDD: 3TB Toshiba something or other

SSD: 512GB WD Black NVMe M.2

Case: Shared with Daily - Phanteks Mini XL DS

PSU: Shared with Daily - 1200W Corsair HX1200

 

Server

CPU: Ryzen7 1700

Motherboard: MSI X370 SLI Plus

RAM: 8GB Corsair Vengeance LPX DDR4

GPU: Nvidia GT 710

HDD: 1X 10TB Seagate ironwolf NAS Drive.  4X 3TB WD Red NAS Drive.

SSD: Adata 128GB

Case: NZXT Source 210 (white)

PSU: EVGA 650 G2 80Plus Gold

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Khader87 said:

DX12 and Vulkan are no essential in every game, im surprised that big titles like BO4, assassins creed... Etc are still not supporting atleast DX12! amd im sure that they dont want to waste their time and money into optimizing games because they are greedy. 

 

I have vega 64 and i7 4790 and when using DX12 i get around 20% increase in performance and steady FPS, same goes to Vulkan 

 

In 2019 all developers should have DX12 enabled in their games and AMD should do something to encourage them as their cards work better on them. 

 

It's amazing how many people think low level APIs are a magic key to unlocking more FPS in every game. Here's the truth, they're not.

 

I find your 20% improvement claim a bit suspicious too, my CPU & GPU are both better than yours and I see no where close to 20% improvement in any game. In DX12 titles performance is usually around the same, maybe a few FPS more but nothing substantial. The biggest boost I can get is from Vulkan in Doom where I can see maybe 5 to 10 FPS more but that's running at 150+ FPS to begin with.

 

In most workloads DX11, DX12 & Vulkan perform almost identically. It's only it very specific situations does low level offer better performance. This is the reason why all emulators haven't swapped over to DX12 or Vulkan and magically gained 10 extra FPS for basically free.

Main Rig:-

Ryzen 7 3800X | Asus ROG Strix X570-F Gaming | 16GB Team Group Dark Pro 3600Mhz | Corsair MP600 1TB PCIe Gen 4 | Sapphire 5700 XT Pulse | Corsair H115i Platinum | WD Black 1TB | WD Green 4TB | EVGA SuperNOVA G3 650W | Asus TUF GT501 | Samsung C27HG70 1440p 144hz HDR FreeSync 2 | Ubuntu 20.04.2 LTS |

 

Server:-

Intel NUC running Server 2019 + Synology DSM218+ with 2 x 4TB Toshiba NAS Ready HDDs (RAID0)

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, MedievalMatt said:

I thought it was general knowledge that that CPU usage was DRM related.

DRM is an easy target because it's always the evil enemy in PC gaming and the way people think they understand how Denuvo works. But it really depends on the game:

Some games had a noticeable performance impact, other games had virtually none. Also some games that were patched later to have Denuvo removed and people who tested them may not be doing a fair assessment because of the other patches that may have improved performance independent of Denuvo's impact.

 

Which is why I demand the usage of a CPU profiler to analyze what the game is doing to determine what's really using the CPU. Otherwise all you have are correlated events. And while you can present strong evidence DRM is to blame, there's no definitive proof it actually is and that the game may just be that much of a CPU hog.

Link to comment
Share on other sites

Link to post
Share on other sites

Just use Vulkan. It's all around more convenient because it won't only support Windows games, and rather all platforms (aside from maybe MacOS?). DirectX doesn't really have any advantages.

I use Arch btw

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, lond.en said:

DirectX doesn't really have any advantages.

It does if you're targeting the Xbox One.

Come Bloody Angel

Break off your chains

And look what I've found in the dirt.

 

Pale battered body

Seems she was struggling

Something is wrong with this world.

 

Fierce Bloody Angel

The blood is on your hands

Why did you come to this world?

 

Everybody turns to dust.

 

Everybody turns to dust.

 

The blood is on your hands.

 

The blood is on your hands!

 

Pyo.

Link to comment
Share on other sites

Link to post
Share on other sites

Also as a sort of analog, maybe, since I'm not a graphics developer but a software developer nonetheless, DX11 and OGL make a lot of things easy for the developer at the cost of performance. DX12 and Vulkan gives you more control over the way you present what you want, but you really have to know what you're doing. If this is the case, then DX11 and OGL are akin to higher level languages like Swift, C#, and Python. They have a lot of facilities in making apps easier, but they also can't perform as well as something that's a bit lower in the spectrum, like C. C offers really high performance, but you have to know what you're doing to use it effectively.

 

Asking someone who primarily programmed in Swift, C#, or Python to develop their big apps in C isn't something that should be done lightly.

 

10 minutes ago, lond.en said:

Just use Vulkan. It's all around more convenient because it won't only support Windows games, and rather all platforms (aside from maybe MacOS?). DirectX doesn't really have any advantages.

Apple would really like you to use Metal and they don't officially support Vulkan. Vulkan support is done by way of Khrono's MoltenVK layer on top of Metal.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, M.Yurizaki said:

Apple would really like you to use Metal and they don't officially support Vulkan. Vulkan support is done by way of Khrono's MoltenVK layer on top of Metal.

Sony also doesn't support Vulkan in any official capacity. The PS4 uses two proprietary API known as GNM and GNMX, which are low level and high level respectively. Working with GNMX isn't too far off from Direct3D 11.

 

Come Bloody Angel

Break off your chains

And look what I've found in the dirt.

 

Pale battered body

Seems she was struggling

Something is wrong with this world.

 

Fierce Bloody Angel

The blood is on your hands

Why did you come to this world?

 

Everybody turns to dust.

 

Everybody turns to dust.

 

The blood is on your hands.

 

The blood is on your hands!

 

Pyo.

Link to comment
Share on other sites

Link to post
Share on other sites

49 minutes ago, Master Disaster said:

It's amazing how many people think low level APIs are a magic key to unlocking more FPS in every game. Here's the truth, they're not.

 

I find your 20% improvement claim a bit suspicious too, my CPU & GPU are both better than yours and I see no where close to 20% improvement in any game. In DX12 titles performance is usually around the same, maybe a few FPS more but nothing substantial. The biggest boost I can get is from Vulkan in Doom where I can see maybe 5 to 10 FPS more but that's running at 150+ FPS to begin with.

 

In most workloads DX11, DX12 & Vulkan perform almost identically. It's only it very specific situations does low level offer better performance. This is the reason why all emulators haven't swapped over to DX12 or Vulkan and magically gained 10 extra FPS for basically free.

Its mainly low end systems that seem to benefit when running under DX12 or Vulcan in games. Especially those with weaker CPU.

"We also blind small animals with cosmetics.
We do not sell cosmetics. We just blind animals."

 

"Please don't mistake us for Equifax. Those fuckers are evil"

 

This PSA brought to you by Equifacks.
PMSL

Link to comment
Share on other sites

Link to post
Share on other sites

Games are multi year projects while game engines can last over a decade if they are maintained(the telltale engine for example), the engine itself need to support DX12, so if they don't make a new engine, it's not going to support DX12.
It's only been a little over 2 years that Directx12 was released, add to that the time it took for Nvidia and AMD to support it across many GPUs(because it's backward compatible up to a certain point)... Suddenly you're looking at a very short time window for game development. 

Not to mention, DX12 is Windows 10 exclusive. Last I checked, Windows 7 still had over 40% of the market while Windows 10 had like 35%, which would mean they'd essentially be leaving money on the table by making the games DX12 only right now.
 

As such, Vulkan would be a better idea, since it's compatible with 7, Linux, Mac and I think Android?

CPU: AMD Ryzen 3700x / GPU: Asus Radeon RX 6750XT OC 12GB / RAM: Corsair Vengeance LPX 2x8GB DDR4-3200
MOBO: MSI B450m Gaming Plus / NVME: Corsair MP510 240GB / Case: TT Core v21 / PSU: Seasonic 750W / OS: Win 10 Pro

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, TetraSky said:

Vulkan would be a better idea, since it's compatible with 7, Linux, Mac and I think Android?

OSX doesn't support it directly. You have to use a compatibility layer.

Come Bloody Angel

Break off your chains

And look what I've found in the dirt.

 

Pale battered body

Seems she was struggling

Something is wrong with this world.

 

Fierce Bloody Angel

The blood is on your hands

Why did you come to this world?

 

Everybody turns to dust.

 

Everybody turns to dust.

 

The blood is on your hands.

 

The blood is on your hands!

 

Pyo.

Link to comment
Share on other sites

Link to post
Share on other sites

34 minutes ago, TetraSky said:

so if they don't make a new engine, it's not going to support DX12.

If you need to make an entirely new engine to support a subset of what the engine can do, you're doing it wrong. And I would also argue you don't even have to build from the ground up to support DX12. If you're making "create_box_dx11", "create_box_dx12", and "create_box_vk",  you're also doing it wrong.

Link to comment
Share on other sites

Link to post
Share on other sites

"Recent" DX11 vs DX12 can't tell if its just because they optimized more but especially Vulkan is extremely good at making use of multiple cores.  I've not seen a DX11 title come anywhere close to thread management.  Doom for instance turn ALL the settings up at 1440p it sits there at the 200fps cap for me.

AMD 7950x / Asus Strix B650E / 64GB @ 6000c30 / 2TB Samsung 980 Pro Heatsink 4.0x4 / 7.68TB Samsung PM9A3 / 3.84TB Samsung PM983 / 44TB Synology 1522+ / MSI Gaming Trio 4090 / EVGA G6 1000w /Thermaltake View71 / LG C1 48in OLED

Custom water loop EK Vector AM4, D5 pump, Coolstream 420 radiator

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, Drak3 said:

It does if you're targeting the Xbox One.

Okay, fair enough. Microsoft should really just get with the times though instead of trying to force DX, same with apple and Metal.

I use Arch btw

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, M.Yurizaki said:

Apple would really like you to use Metal and they don't officially support Vulkan. Vulkan support is done by way of Khrono's MoltenVK layer on top of Metal.

Never heard of it. Is it like Wine/DXVK but for Vulkan to Metal?

I use Arch btw

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, lond.en said:

Okay, fair enough. Microsoft should really just get with the times though instead of trying to force DX, same with apple and Metal.

There is literally no reason for either company to stop development of their API.

Come Bloody Angel

Break off your chains

And look what I've found in the dirt.

 

Pale battered body

Seems she was struggling

Something is wrong with this world.

 

Fierce Bloody Angel

The blood is on your hands

Why did you come to this world?

 

Everybody turns to dust.

 

Everybody turns to dust.

 

The blood is on your hands.

 

The blood is on your hands!

 

Pyo.

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, lond.en said:

Never heard of it. Is it like Wine/DXVK but for Vulkan to Metal?

Yeah, pretty much.

 

12 minutes ago, ewitte said:

"Recent" DX11 vs DX12 can't tell if its just because they optimized more but especially Vulkan is extremely good at making use of multiple cores.  I've not seen a DX11 title come anywhere close to thread management.  Doom for instance turn ALL the settings up at 1440p it sits there at the 200fps cap for me.

A lot of the set pieces in DOOM are in closed spaces.

Link to comment
Share on other sites

Link to post
Share on other sites

Another big issue is backwards compatibility with graphics cards.

Besides a few oddballs, the oldest Nvidia graphics cards capable of running DX12 are the 900 series. AMD cards go back a little further, but not that far. This is a big problem because many gamers still use hardware that doesn't support the technology, and game studios like to support the widest range of hardware possible.

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, straight_stewie said:

Another big issue is backwards compatibility with graphics cards.

Besides a few oddballs, the oldest Nvidia graphics cards capable of running DX12 are the 900 series. AMD cards go back a little further, but not that far. This is a big problem because many gamers still use hardware that doesn't support the technology, and game studios like to support the widest range of hardware possible.

Technically GeForce 500 is the oldest compatible DX12 GPU, it just has a lower feature level. AMD's compatibility only goes back to 1st Gen GCN, and it also seems to have a lower feature level.

 

DX12 (and likely Vulkan) mostly does not require any new hardware features, it's mostly a software paradigm change.

Link to comment
Share on other sites

Link to post
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

×