Is dxgi.dll better than d3d9.dll ?

  • Posts: 3
4 years 9 months ago - 4 years 9 months ago #1 by Arkon77
Is dxgi.dll or d3d11.dll better than d3d9.dll ? I ask because I use Mirillis Action! software to record screen video and Action! works with ReShade only when library is named to d3d9.dll or d3d11.dll. Witcher 3 + Action! crashes when library name is dxgi.dll.

Is there any cons, differences when I use d3d9.dll, d3d11.dll instead dxgi.dll ?

Please Log in or Create an account to join the conversation.

  • Posts: 3740
4 years 9 months ago - 4 years 9 months ago #2 by crosire
There is no "better". The names are used because games load those libraries (depending on what Direct3D version they were written against), and thus ReShade is forced into the process. It does not make a difference to ReShade.

Please Log in or Create an account to join the conversation.

  • Posts: 3
4 years 9 months ago #3 by Arkon77
Yes, but Witcher 3 works witch d3d9.dll, d3d11.dll and dxgi.dll - is there any differencies depending on which library name I use ? My screen recording software crash when I use dxgi.dll.

Please Log in or Create an account to join the conversation.

  • Posts: 3740
4 years 9 months ago #4 by crosire
The only difference is the load order in which the game loads these. While Witcher 3 is a Direct3D 11 game, it still loads d3d9.dll for some reason. But it may do that later than it does load dxgi.dll. What can happen is that games already call the Direct3D setup functions before loading the library ReShade was renamed to, in which case ReShade can no longer apply. You would need to use a different name then. Other than that, again, it makes no difference to ReShade.
The following user(s) said Thank You: Arkon77

Please Log in or Create an account to join the conversation.

  • Posts: 12
4 years 8 months ago #5 by Nicholas Steel

Arkon77 wrote: Is dxgi.dll or d3d11.dll better than d3d9.dll ? I ask because I use Mirillis Action! software to record screen video and Action! works with ReShade only when library is named to d3d9.dll or d3d11.dll. Witcher 3 + Action! crashes when library name is dxgi.dll.

Is there any cons, differences when I use d3d9.dll, d3d11.dll instead dxgi.dll ?

If you're renaming the d3d9.dll version of ReShade to dxgi.dll or d3d11.dll the game will likely crash when assessing Direct3D 10, 10.1 or 11 functionality. If you rename the dxgi.dll to d3d9.dll then the game can likely crash when assessing Direct3D 9 functionality.

Other than that, you won't see any difference visually or performance wise. The swap will at best crash the game as it tries to load a DLL that is incompatible with its rendering engine.

Please Log in or Create an account to join the conversation.

  • Posts: 3740
4 years 8 months ago - 4 years 8 months ago #6 by crosire

Nicholas Steel wrote: If you're renaming the d3d9.dll version of ReShade to dxgi.dll or d3d11.dll the game will likely crash when assessing Direct3D 10, 10.1 or 11 functionality. If you rename the dxgi.dll to d3d9.dll then the game can likely crash when assessing Direct3D 9 functionality.

No. The ReShade DLL is fully ABI (with some small exceptions) compatible with d3d9.dll, dxgi.dll, opengl32.dll and mostly ABI compatible with d3d10.dll and d3d11.dll. This means it won't crash due to DLL naming.

Please Log in or Create an account to join the conversation.

  • Posts: 12
4 years 8 months ago #7 by Nicholas Steel
Oh okay, thanks for correcting me.

Please Log in or Create an account to join the conversation.