diff --git a/host/platform/Windows/capture/CMakeLists.txt b/host/platform/Windows/capture/CMakeLists.txt index 9c09a638..9ee7cb73 100644 --- a/host/platform/Windows/capture/CMakeLists.txt +++ b/host/platform/Windows/capture/CMakeLists.txt @@ -17,14 +17,14 @@ if(NOT EXISTS "${nvfbc_sdk}/inc" OR NOT IS_DIRECTORY "${nvfbc_sdk}/inc") set(USE_NVFBC OFF) endif() -if(USE_NVFBC) - add_capture("NVFBC") -endif() - if(USE_DXGI) add_capture("DXGI") endif() +if(USE_NVFBC) + add_capture("NVFBC") +endif() + include("PostCapture") add_library(capture STATIC ${CAPTURE_C}) diff --git a/host/platform/Windows/capture/NVFBC/src/nvfbc.c b/host/platform/Windows/capture/NVFBC/src/nvfbc.c index b287afd6..3883a868 100644 --- a/host/platform/Windows/capture/NVFBC/src/nvfbc.c +++ b/host/platform/Windows/capture/NVFBC/src/nvfbc.c @@ -165,6 +165,10 @@ static bool nvfbc_init(void) free(buffer); } + // NOTE: Calling this on hardware that doesn't support NvFBC such as GeForce + // causes a substantial performance pentalty even if it fails! As such we only + // attempt NvFBC as a last resort, or if configured via the app:capture + // option. if (!NvFBCToSysCreate(privData, privDataLen, &this->nvfbc, &this->maxWidth, &this->maxHeight)) { free(privData);