Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Tldr; Direct X is a library used to manage pretty much all the game features so they 'talk' to one another.
There's no real 'good' Direct X type - generally the older ones (11 and 10) are pretty stable - and direct x 12 can work really well on some PCs and not on others depending on your hardware, drivers, etc. Some games run direct X really well for you. Others will not. There are so many variables.
If you are having a bunch of very random issues that you can't replicate, changing your Direct X version to an older one can help you.
I've been having these random crashes when leaving the menus in game - it happens maybe every 4-6 hours of game time the game freezes and my graphics card driver tells me there was a timeout - which doesn't really narrow it down. I've fiddled with settings and it is truly random. Going from Direct X 12 -> 11 fixed it for me.
The change between versions isn't noticeable on the surface if you aren't using next-gen features like raytracing (which to be honest, runs terribly on Witcher 3 still).
DX11 is a high level API meaning it does a lot of the heavy lifting for you such as shader pipelines and CPU threading. However it doesn't work well with more than 4 cores/threads because that's all that was available when it came out and the shader pipeline is FIFO
DX12 is a low level API meaning it's harder to use and it's up to the programmer to do the CPU threading but it is basically unlimited in the the number of threads/cores it can use. The shader pipeline is also more advanced and can do both parallel and out of order instructions so it is faster and more flexible but again it's up to the programmer to set it up correctly
DX11 is like a high level language such as BASIC, easy to use, forgiving but slower and not very flexible
DX12 is like a low level language such as C++, harder to use, not forgiving but much faster and more flexible.
The main problem with the DX12 version is the CPU threading is not correctly programmed meaning one or 2 threads are trying to do all the work and once the main thread is maxed out at 100% your FPS falls off because it can no longer feed any more frames to the GPU to process. Add Ray Tracing to the mix which is also more CPU intensive and performance falls off the table