Jump to content

so to my understanding directx is an kinda like a os for gpus on windows right? 

 

1 what is the diffrence between generations of directx like 12 and 11 for example.

 

2 why is directx gens locked to certain gpus like why do older generational gpus not be able to support directx12?

 

3 what is the linux version of directx? and is it generational aswell?

 

4 why do some games not support older gens of directx?

|:Insert something funny:|

-----------------

*******

#

Link to comment
https://linustechtips.com/topic/1390258-some-directx-questions/
Share on other sites

Link to post
Share on other sites

DirectX is an API, which is more like a driver or firmware than an OS. It is a software interface for programs to use graphics in a standardized way. Its sort of like an instruction manual for programs to use graphics resources. 

 

The efficiency of the API is a determining factor in how well it is used, CryEngine is a very unoptimized API that does the equivalent of 1+1+1+1+1+1......+1=20, whereas an API like Vulkan is extremely optimized and to do the calculation of getting to 20 would do something like 10+10 instead to roughly quote J2C.

Link to comment
https://linustechtips.com/topic/1390258-some-directx-questions/#findComment-15115348
Share on other sites

Link to post
Share on other sites

In terms of why some versions are not supported by other cards, Each new version builds upon the previous and improves the feature set.

think of it this way:

If you are a motherboard manufacturer, you would support previous versions of PCIe right, it's a standard system that has broad support. Would it make sense to put agp ports on new motherboards for the few people still rocking a Riva128, or have USB 1.0 ports, or a floppy drive? The new versions of DirectX have different instruction sets, with better optimizations and features. A 9800GT and a 2080ti have vastly different capabilities, and therefore the 9800GT is not going to be able to do the super complex rasterization computations to get super realistic textures and shadows, the 2080ti has a much better instruction set for doing that same process, so that old process isn't supported anymore. This is why some old games don't work natively with newer systems, they are calling for an instruction set that has been replaced by a better and more efficient one, so when it doesn't detect that instruction set, it doesn't know what to do. I experienced this trying to play Lego Island 2 with an RX480.

Link to comment
https://linustechtips.com/topic/1390258-some-directx-questions/#findComment-15115383
Share on other sites

Link to post
Share on other sites

4 hours ago, BiotechBen said:

DirectX is an API, which is more like a driver or firmware than an OS. It is a software interface for programs to use graphics in a standardized way. Its sort of like an instruction manual for programs to use graphics resources. 

 

The efficiency of the API is a determining factor in how well it is used, CryEngine is a very unoptimized API that does the equivalent of 1+1+1+1+1+1......+1=20, whereas an API like Vulkan is extremely optimized and to do the calculation of getting to 20 would do something like 10+10 instead to roughly quote J2C.

This is roughly what I would have answered,  but isn't it also like a translation layer, say between cpu and gpu, or is that wrong? (just curious,  and I dont mean in linux, I mean on native platform,  so windows,  since direct x is Microsoft software)

The direction tells you... the direction

-Scott Manley, 2021

 

 

Link to comment
https://linustechtips.com/topic/1390258-some-directx-questions/#findComment-15115594
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

×