Git Product home page Git Product logo

Comments (7)

SveSop avatar SveSop commented on June 29, 2024 3

This is not entirely correct. I'm very certain that you'll need DXVK-NVAPI on Windows when you want to use DLSS or the (albeit not that significant) D3D11 extensions (SetDepthBoundsTest, UAVOverlap) together with DXVK or VKD3D-Prorton on Windows. It is of course pointless to use DXVK-NVAPI without DXVK or VKD3D-Proton or just for the sysinfo entry points.

I did not think it would not work, but you seem to be correct in that. I cant test for DLSS as i have a GTX970 card in my Win10 box, but i did test for NvAPI_D3D11_SetDepthBoundsTest in the MHO Benchmark. It uses D3D11 and SetDepthBoundsTest, and in wine/linux it yields around 1-2% increase to use dxvk-nvapi. Mostly within the margin of error, but nevertheless.

I tested the following in Windows 10:

DXVK(dxgi.nvapiHack = True) (Will fake AMD card and not use nvapi)
Score: 12826 - max: 58.3 min: 17.4

DXVK(dxgi.nvapiHack = False) + native nvapi
Score: 9822 - max: 44.8 min: 17.9

DXVK(dxgi.nvapiHack = False) + dxvk-nvapi
Score: 12918 - max: 58.7 min: 26.3

Native D3D11 + native nvapi
Score: 15214 - max: 69.2 min: 22.9

So it does seem as if you use nVidia native nvapi with DXVK when SetDepthBoundsTest is used, it will yield a worse performance (the reason the dxgi.nvapiHack setting came about in the first place, due to spamming non-working calls of this function will cause slowdowns). Using dxvk-nvapi gave a minor increase (wee bit less than 1%) over faking an AMD card, and i would say it is somewhat the same as i have seen in wine/linux

Native D3D11 beat DXVK for that particular benchmark, but that is not the case for all games/apps tho.

@Milor123
I guess you just have to test on a per-game basis. I would however not think any resources will go into getting DXVK/vkd3d-proton optimized for windows 10 usage in particular tho, and i think the general stance on bug reports regarding Windows 10 usage of said libs usually ends up with "well, im sorry, but it is not really meant for that" πŸ˜„

Feel free to test a DLSS use-case aswell if any of you have the option... confirmation is always nice even if Jens most likely is correct in that instance aswell πŸ˜ƒ

Happy newyears!

from dxvk-nvapi.

jp7677 avatar jp7677 commented on June 29, 2024 2

Hi. This depends on the game/application.
If the game tries to find its dependencies in the working directory (usually the directory where the executable is) first, you can just place the nvapi.dll / nvapi64.dll in the working directory and it will be used instead of NVIDIA’s nvapi dlls. This is the same with DXVK.
If the game tries to find the nvapi dlls only in the system folders or directly from the location of the NVIDIA installer, then there is nothing you can do. Well, you could replace your nvapi dlls in the system folders, but I would strongly advice against it, this would be a pretty good way to break your system.

from dxvk-nvapi.

Milor123 avatar Milor123 commented on June 29, 2024 2

@jp7677 @SveSop I am sincerely grateful for your response, thank you for explaining all this to me guys! Now i understand a few more

from dxvk-nvapi.

SveSop avatar SveSop commented on June 29, 2024 1

@Milor123
Using dxvk-nvapi in windows on a actual nvidia adapter would be rather pointless if you ask me. All this project is trying to do is emulate what the ACTUAL nvidia library is doing in windows. Why would you replace native nvidia made nvapi/nvapi64 with this "hack" when using windows?

DXVK used in Windows does sometimes provide better performance than Windows D3D9/11, so that is worth a try for sure.. but there is absolutely no point in using dxvk-nvapi together with DXVK. Somewhat of an overarching goal of THIS project (DXVK-NVAPI) is to provide the SAME functions as nVidia native windows nvapi library, but falls short in most functions.

from dxvk-nvapi.

jp7677 avatar jp7677 commented on June 29, 2024 1

@Milor123 Using dxvk-nvapi in windows on a actual nvidia adapter would be rather pointless if you ask me. All this project is trying to do is emulate what the ACTUAL nvidia library is doing in windows. Why would you replace native nvidia made nvapi/nvapi64 with this "hack" when using windows?

DXVK used in Windows does sometimes provide better performance than Windows D3D9/11, so that is worth a try for sure.. but there is absolutely no point in using dxvk-nvapi together with DXVK. Somewhat of an overarching goal of THIS project (DXVK-NVAPI) is to provide the SAME functions as nVidia native windows nvapi library, but falls short in most functions.

This is not entirely correct. I'm very certain that you'll need DXVK-NVAPI on Windows when you want to use DLSS or the (albeit not that significant) D3D11 extensions (SetDepthBoundsTest, UAVOverlap) together with DXVK or VKD3D-Prorton on Windows. It is of course pointless to use DXVK-NVAPI without DXVK or VKD3D-Proton or just for the sysinfo entry points.

from dxvk-nvapi.

jp7677 avatar jp7677 commented on June 29, 2024

About dxvk-native, from my understanding this project is for porting applications to Linux (native is native-Linux in this case), so not anything that is supposed to be used on Windows.

from dxvk-nvapi.

jp7677 avatar jp7677 commented on June 29, 2024

I guess this question has been answered, please feel free to continue this discussion or ask more.

from dxvk-nvapi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.