Are your loading videos showing black area that should be transparent?
Are your videos of playfields washed out or looking grey?
Here's the proper nvidia control panel settings that you need to use.
Remember to do these changes ON EACH AND EVERY DISPLAY!!!
Also, make sure you're not running 10-bit HDR modes with TVs and your HDMI cable is rated for 4K if you have 4K
Most IMPORTANT!! If your playfield TV has a GAME MODE or PC MODE in the TV'S MENU(OPTIONS), make sure its set to that to reduce LAG as much as possible. During gameplay, its very important to try and minimize DISPLAY LAG when playing virtual pinball.
Stuttering and performance issues in emulators (such as Yuzu, PCSX2, Ryujinx) when using NVIDIA GPUs and OpenGL are frequently caused by the NVIDIA GeForce Experience Overlay or the new NVIDIA App Overlay. These overlays can introduce significant stutter, FPS drops, and mouse input lag.
Here are the solutions based on user reports and technical analysis:1. Disable NVIDIA In-Game Overlay (Primary Fix)
Disabling the overlay is the most common and effective solution for stuttering, especially if you are not actively using Shadowplay to record.Via GeForce Experience: Open GeForce Experience → Settings (gear icon) → General → Toggle In-Game Overlay to OFF.
Via New NVIDIA App: Open the app → Settings → Features → Overlay → Toggle OFF.
Note: If you want to keep recording capabilities, simply toggling “Instant Replay” off can sometimes help, but completely disabling the overlay is more reliable.2. Optimize NVIDIA Control Panel (OpenGL Focus)
If the overlay is already off, configure the Control Panel to handle OpenGL better:
Open NVIDIA Control Panel → “Manage 3D Settings”.
OpenGL rendering GPU: Manually set this to your NVIDIA GPU (do not leave it on “Auto-select”).
Power management mode: Set to “Prefer maximum performance”.
Threaded optimization: If you have issues, try disabling this, although for most it should be on.
Vertical sync: Try setting this to “Use the 3D application setting” or “Off” in the panel, and handle it within the emulator instead.3. Emulator Specific Settings
Vsync/Frame Pacing: Ensure Vsync is enabled in the emulator, but potentially disabled in the NVIDIA Control Panel to prevent conflicts.
Shader Backend: Using “Plain GLSL” is generally smoother than other options.
Force 60 FPS: If an emulator runs at 59.94 FPS, it might stutter on a 60Hz monitor. Force 60 FPS in the emulator's configuration file (e.g., PCSX2_VM.ini).
4. Other Potential Fixes
Disable Windows MPO (Multiplane Overlay): This can cause stuttering, especially with high refresh rate monitors.
RivaTuner Statistics Server (RTSS): Use RTSS to cap the framerate and enable “Scanline Sync” to fix stuttering.
Update/Reinstall Drivers: Use Display Driver Uninstaller (DDU) to remove old drivers and do a clean install.If you are using the new NVIDIA App, it has been reported to cause up to 15% performance drops, making disabling its features crucial.
You are absolutely right to be suspicious of this. Not only does the NVIDIA overlay crash custom OpenGL applications (as you just painfully experienced), but yes, it absolutely causes a measurable performance penalty, even when it is not actively recording.
When you inject a third-party DLL into a highly optimized, real-time rendering loop, you introduce friction. For DirectX games, NVIDIA has spent millions optimizing this friction. For OpenGL—which NVIDIA often treats as a second-class citizen for modern overlays—the penalty is much worse.
Here is exactly why it slows your app down, and how you can find the articles discussing it.
The Mechanics of the Penalty (Why it slows you down)
1. The “Middleman” Interception Overhead
To draw its FPS counters or capture the screen, NVIDIA intercepts your core OpenGL calls (specifically the buffer swapping, like wglSwapBuffers). Every single time your application/app says “I am done drawing this frame, push it to the screen,” that command doesn't go to the graphics card anymore. It goes to NVIDIA's overlay code first, which does its own math, injects its own textures, and then passes it to the driver. This introduces CPU overhead and ruins frame pacing (stutter).2. Instant Replay VRAM Leeching
Even if the user isn't actively hitting “Record,” the overlay's “Instant Replay” feature is usually on by default. This means NVIDIA is silently copying your OpenGL Framebuffer into a background video encoder 60 times a second so the user can save the last 5 minutes of gameplay. This eats up your VRAM bandwidth and GPU cycles.3. State Machine Corruption
OpenGL is a massive state machine. When NVIDIA injects its overlay, it has to alter the OpenGL state to draw its UI, and then restore your state so your app can keep drawing. If their state-restore logic isn't perfect, it causes pipeline stalls.Where to Find the Articles and Proof
Because this is a deep driver-level issue, you won't usually find mainstream articles on The Verge or IGN about it. The best documentation and rage-filled articles about this exact issue come from other engine developers and emulator creators.If you want to read up on it, use these specific search terms:
Search for “Emulator NVIDIA Overlay OpenGL stutter”: The developers of massive OpenGL/Vulkan emulators (like Yuzu, Ryujinx, and RPCS3) constantly battle this. You will find extensive GitHub issue threads where the devs explicitly tell users that the NVIDIA overlay is tanking their OpenGL performance and causing micro-stutters.
Search for “wglSwapBuffers API Hooking Overhead”: This will lead you to StackOverflow and GameDev.net articles where engine programmers discuss the exact millisecond penalties of third-party overlays hooking into the Windows OpenGL swap chain.
Search for “OBS Game Capture vs Window Capture OpenGL”: OBS Studio uses the exact same API hooking techniques as NVIDIA ShadowPlay to capture game footage. The OBS forums and wikis have brilliant, highly technical articles explaining the performance hit of hooking into an OpenGL context versus using standard Windows Desktop Duplication (WDDM).