Jump to content

What exactly makes Vulkan better than DirectX?

Tomsta

I don't understand what exactly is it that makes Vulkan (arguably) better for games than DirectX, is it more how it handles codes and instructions? I know few games use Vulkan, I only know of 3; Doom, Path of Exile and Baulder's Gate 3 (early access)

Link to comment
Share on other sites

Link to post
Share on other sites

From what I understand it has to do with driver overhead, Vulkan has less and can execute faster.
 

That's as far as I know, I am sure there are wiki or other articles out there concerning.

"Do what makes the experience better" - in regards to PCs and Life itself.

 

Onyx AMD Ryzen 7 7800x3d / MSI 6900xt Gaming X Trio / Gigabyte B650 AORUS Pro AX / G. Skill Flare X5 6000CL36 32GB / Samsung 980 1TB x3 / Super Flower Leadex V Platinum Pro 850 / EK-AIO 360 Basic / Fractal Design North XL (black mesh) / AOC AGON 35" 3440x1440 100Hz / Mackie CR5BT / Corsair Virtuoso SE / Cherry MX Board 3.0 / Logitech G502

 

7800X3D - PBO -30 all cores, 4.90GHz all core, 5.05GHz single core, 18286 C23 multi, 1779 C23 single

 

Emma : i9 9900K @5.1Ghz - Gigabyte AORUS 1080Ti - Gigabyte AORUS Z370 Gaming 5 - G. Skill Ripjaws V 32GB 3200CL16 - 750 EVO 512GB + 2x 860 EVO 1TB (RAID0) - EVGA SuperNova 650 P2 - Thermaltake Water 3.0 Ultimate 360mm - Fractal Design Define R6 - TP-Link AC1900 PCIe Wifi

 

Raven: AMD Ryzen 5 5600x3d - ASRock B550M Pro4 - G. Skill Ripjaws V 16GB 3200Mhz - XFX Radeon RX6650XT - Samsung 980 1TB + Crucial MX500 1TB - TP-Link AC600 USB Wifi - Gigabyte GP-P450B PSU -  Cooler Master MasterBox Q300L -  Samsung 27" 1080p

 

Plex : AMD Ryzen 5 5600 - Gigabyte B550M AORUS Elite AX - G. Skill Ripjaws V 16GB 2400Mhz - MSI 1050Ti 4GB - Crucial P3 Plus 500GB + WD Red NAS 4TBx2 - TP-Link AC1200 PCIe Wifi - EVGA SuperNova 650 P2 - ASUS Prime AP201 - Spectre 24" 1080p

 

Steam Deck 512GB OLED

 

OnePlus: 

OnePlus 11 5G - 16GB RAM, 256GB NAND, Eternal Green

OnePlus Buds Pro 2 - Eternal Green

 

Other Tech:

- 2021 Volvo S60 Recharge T8 Polestar Engineered - 415hp/495tq 2.0L 4cyl. turbocharged, supercharged and electrified.

Lenovo 720S Touch 15.6" - i7 7700HQ, 16GB RAM 2400MHz, 512GB NVMe SSD, 1050Ti, 4K touchscreen

MSI GF62 15.6" - i7 7700HQ, 16GB RAM 2400 MHz, 256GB NVMe SSD + 1TB 7200rpm HDD, 1050Ti

- Ubiquiti Amplifi HD mesh wifi

 

Link to comment
Share on other sites

Link to post
Share on other sites

11 minutes ago, Dedayog said:

From what I understand it has to do with driver overhead, Vulkan has less and can execute faster.
 

That's as far as I know, I am sure there are wiki or other articles out there concerning.

The main point for vulkan is how it does not rely on the one core does most/all principle. It is built around spreading tasks around on every core something which dx11 can totally do but needs a lot of help and forcing. Also due to less overhead and the way it's developed you can get away with so many more drawcalls.

 

Best way to really explain is.

 

On dx11 you have 1000 npcs walking around doing their ai behavior. Core 1 has to offload the ai, movement systems, audio,... to other cores AND still has to feed the gpu the data that it cannot offload to other cores thus the game runs poorly. It may also reach the drawcall limit that dx can handle and by just adding 1 more npc the framerate could go from 70fps to 40.

 

Vulkan and dx12 give much lower level access allowing many things dx11 cannot do. They are also focused on using all the cores and avoiding the 1 core instructs all way of thinking this way you avoid bottlenecks. They also have a much higher drawcall limit and can handle much more on screen.

 

This is very simplified and inaccurate but a rough thing of what would be a main difference.

Link to comment
Share on other sites

Link to post
Share on other sites

8 minutes ago, jaslion said:

The main point for vulkan is how it does not rely on the one core does most/all principle. It is built around spreading tasks around on every core something which dx11 can totally do but needs a lot of help and forcing. Also due to less overhead and the way it's developed you can get away with so many more drawcalls.

 

Best way to really explain is.

 

On dx11 you have 1000 npcs walking around doing their ai behavior. Core 1 has to offload the ai, movement systems, audio,... to other cores AND still has to feed the gpu the data that it cannot offload to other cores thus the game runs poorly. It may also reach the drawcall limit that dx can handle and by just adding 1 more npc the framerate could go from 70fps to 40.

 

Vulkan and dx12 give much lower level access allowing many things dx11 cannot do. They are also focused on using all the cores and avoiding the 1 core instructs all way of thinking this way you avoid bottlenecks. They also have a much higher drawcall limit and can handle much more on screen.

 

This is very simplified and inaccurate but a rough thing of what would be a main difference.

Basically means that the individual cores of a CPU are being stressed less? allowing for more complex instructions to be run?

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Tomsta said:

Basically means that the individual cores of a CPU are being stressed less? allowing for more complex instructions to be run?

That and more direct communication with the gpu. Also allows the cpu to do more before feeding it to the gpu thus lowering the load a bit.

Link to comment
Share on other sites

Link to post
Share on other sites

Ok and if it's so great why is almost no one using it?

 

 

The direction tells you... the direction

-Scott Manley, 2021

 

Softwares used:

Corsair Link (Anime Edition) 

MSI Afterburner 

OpenRGB

Lively Wallpaper 

OBS Studio

Shutter Encoder

Avidemux

FSResizer

Audacity 

VLC

WMP

GIMP

HWiNFO64

Paint

3D Paint

GitHub Desktop 

Superposition 

Prime95

Aida64

GPUZ

CPUZ

Generic Logviewer

 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Mark Kaine said:

Ok and if it's so great why is almost no one using it?

 

 

Part of it is general compatibility, part of it is legacy shit that would need to be rewritten to take advantage of Vulkan and part of it is just that it may not be necessary. 

Vulkan adoption hasn't been too bad, but it hasn't been as explosive as I kinda expected it to be, but at the same time, DirectX 12 adoption has been really slow, too. It'll take a while before either of these become APIs of choice, but as another console generation looms upon us, that time might be coming very soon.

Check out my guide on how to scan cover art here!

Local asshole and 6th generation console enthusiast.

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, handymanshandle said:

Part of it is general compatibility, part of it is legacy shit that would need to be rewritten to take advantage of Vulkan and part of it is just that it may not be necessary. 

Vulkan adoption hasn't been too bad, but it hasn't been as explosive as I kinda expected it to be, but at the same time, DirectX 12 adoption has been really slow, too. It'll take a while before either of these become APIs of choice, but as another console generation looms upon us, that time might be coming very soon.

I see, well yeah it's not exactly widespread so far.

 

Also I'm extra wary about something like this because the highly praised (shilled) "DX12" yields worse performance over DX11 in *any* case I've tested. Most games become actually "unplayable" with DX12 enabled , a glitchy buggy mess...

 

(on two different machines no less, so I kinda doubt it's a driver / settings issue... )

 

But thanks for the info, some of these reasons I anticipated to be the case.  

The direction tells you... the direction

-Scott Manley, 2021

 

Softwares used:

Corsair Link (Anime Edition) 

MSI Afterburner 

OpenRGB

Lively Wallpaper 

OBS Studio

Shutter Encoder

Avidemux

FSResizer

Audacity 

VLC

WMP

GIMP

HWiNFO64

Paint

3D Paint

GitHub Desktop 

Superposition 

Prime95

Aida64

GPUZ

CPUZ

Generic Logviewer

 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, handymanshandle said:

 

Vulkan adoption hasn't been too bad, but it hasn't been as explosive as I kinda expected it to be, but at the same time, DirectX 12 adoption has been really slow, too.

 

I'm incrusting myself here just by curiosity: 
Might that be due to the lack of adoption of Windows 10 ?
I don't know if it's totally true, but back when there were discussion about the end of Windows 7 support, I've heard a lot of people were still on W7 and previous version, and even after its end of support, data showed a lot of people remaining on Windows 7 still. 


Again maybe that was exaggerated or amplified by the Enterprise side of it, but I was wondering this while reading your post. 

Link to comment
Share on other sites

Link to post
Share on other sites

16 hours ago, Mark Kaine said:

I see, well yeah it's not exactly widespread so far.

 

Also I'm extra wary about something like this because the highly praised (shilled) "DX12" yields worse performance over DX11 in *any* case I've tested. Most games become actually "unplayable" with DX12 enabled , a glitchy buggy mess...

 

(on two different machines no less, so I kinda doubt it's a driver / settings issue... )

 

But thanks for the info, some of these reasons I anticipated to be the case.  

Depends on the GPUs too. The 1000 series didn't have great async compute support and therefore perform worse in DX12. 

Dirty Windows Peasants :P ?

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, Lord Vile said:

Depends on the GPUs too. The 1000 series didn't have great async compute support and therefore perform worse in DX12. 

It's just funny when I read "reviews" dx12 is almost always better, when I read user experience dx12 is almost always worse.............. 

 

 

 

 

And Vulkan is probably about the same thing except there are about 2 games that are running better on it. Which proves exactly nothing. 

 

 

But yes the fact that reviews say 12 is "better" (on 1000 series cards, cause they 'tested' it) when in reality it isn't makes me avoid the the thing hard, besides my own experience of course that dx12 never performs better and usually is 'unplayable mess' 

 

 

I think it's Microsofts biggest failure and of course they're desperate to 'make it happen' I sure hope they don't succeed tho (devs seem to hate it too) 

 

 

 

The direction tells you... the direction

-Scott Manley, 2021

 

Softwares used:

Corsair Link (Anime Edition) 

MSI Afterburner 

OpenRGB

Lively Wallpaper 

OBS Studio

Shutter Encoder

Avidemux

FSResizer

Audacity 

VLC

WMP

GIMP

HWiNFO64

Paint

3D Paint

GitHub Desktop 

Superposition 

Prime95

Aida64

GPUZ

CPUZ

Generic Logviewer

 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

As I understand it, it's generally harder to code for something that's executing in parallel than something running sequentially, and if you can get enough performance using the sequential version, there's not much advantage in taking the time and effort to make it parallel. 

 

The main success story I'm familiar with from the Dx11 to Vulkan migration was X-Plane's move. Flight sims tend to be *very* cpu heavy, and have a *massive* number of polygons on screen at one time.

 

Once they finally got all the bugs worked out you pretty much jumped from 30fps to 60fps in most scenarios. And I think that's down to Vulkan being able to support something like 15 times the number of draw calls per second that DX11 can. 

 

But, if you're already running Fallen Order at 60fps in 4k on Dx11, that just doesn't matter to you. 

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

×