Latest Windows 10 update affects OBS performance with NVENC

dogfish

New Member
Hi there!

Turns out the latest Win 10 update (5th of August) interferes with something related to GPU and game capture as the logs show "successfully capturing d3d9 frames via CPU" even when it says NVENC loaded earlier on. After some trial and error with help from Itazuraa, we decided to uninstall the latest update from Win 10 and my problem is solved. Without this update I would stream CSGO at a steady 300 ingame fps, and with the update installed I could barely get 150 and it felt really choppy.

Anyways, just wanted to post it here in case others have noticed some overnight performance drop when streaming.
 
Last edited:

Gol D. Ace

Member
The issue seems to be the Game Capture and not NVENC.

AFAIK @Jim needs to apply patches for DirectX because otherwise he can't capture via the GPU.
When Microsoft updates the dlls of DirectX the Patches become invalid and no longer works.

Same is happening for me btw. after updating without NVENC (well can't speak for performance right now because I have only 2 games installed right now).

In the log file it says capturing via CPU instead of GPU.
 
Last edited:

Osiris

Active Member
Jim already added those fixes in 0.654b, or did MS update the dlls yet again.
BTW, my logs always say capturing via CPU, without the update.
 
Last edited:

Gol D. Ace

Member
There was an Update for Win 10 Osiris which made the patches invalid.
Jim confirmed this to me on IRC.

Cumulative Update for Windows 10 for x64-based Systems (KB3081424)
 

dping

Active Member
Sigh, damn microsoft
Yup. Very similar to what happened prior with game capture only not as bad. Some performance lost about half with game capture. Monitor capture still a viable backup for those using window capture. I wonder if they are intentionally doing this to make people use GameDVR :P
 

heymcfly

New Member
Hey Dogfish i was just wondering if you were ever able to get this issue resolved? While running 8.1 i was able to stream beautifully and now with 10 my quality has plummeted. any tips will help thanks
 

xtreem

New Member
Hey there, I just found this topic, I have windows 10 pro x64, latest and greatest updates, latest and greates nvidia drivers (355.82). I tried making a video today (BF3) since last time (last video was on 8.1) and my last video was superb and smooth (using nvenc, same settings as today).
https://www.youtube.com/watch?v=kMb2NMKzxbw this is the recording on Windows 8.1, you can play it 1080p@60 and u notice the smoothness.

Than today I tried on Windows 10 and this is what i got https://www.youtube.com/watch?v=_L3HkqYTosM
notice how jerky it is? Notice how the handcam is smooth compared to the game.

This is the log. Don't know if it can give you a clue of what im doing wrong. I tried different nvenc preset, with all the same results.

00:55:51: Open Broadcaster Software v0.655b - 64bit ( ^ω^)
00:55:51: -------------------------------
00:55:51: CPU Name: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
00:55:51: CPU Speed: 3501MHz
00:55:51: Physical Memory: 16344MB Total, 10912MB Free
00:55:51: stepping id: 9, model 58, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
00:55:51: monitor 1: pos={-1920, 0}, size={1920, 1080}
00:55:51: monitor 2: pos={0, 0}, size={1920, 1080}
00:55:51: Windows Version: 10.0 Build 10240 (revision 16384)
00:55:51: Aero is Enabled
00:55:51: -------------------------------
00:55:51: OBS Modules:
00:55:51: Base Address Module
00:55:51: 000000005B820000 OBS.exe
00:55:51: 00000000A9D00000 OBSApi.dll
00:55:51: 00000000ABB60000 DShowPlugin.dll
00:55:51: 00000000ACE40000 GraphicsCapture.dll
00:55:51: 00000000B95F0000 NoiseGate.dll
00:55:51: 00000000B2F40000 PSVPlugin.dll
00:55:51: 00000000AF4E0000 scenesw.dll
00:55:51: ------------------------------------------
00:55:51: Adapter 1
00:55:51: Video Adapter: NVIDIA GeForce GTX TITAN
00:55:51: Video Adapter Dedicated Video Memory: 2074804224
00:55:51: Video Adapter Shared System Memory: 4274300928
00:55:51: Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
00:55:51: Video Adapter Output 2: pos={-1920, 0}, size={1920, 1080}, attached=true
00:55:51: =====Stream Start: 2015-09-06, 00:55:51===============================================
00:55:51: Multithreaded optimizations: On
00:55:51: Base resolution: 1920x1080
00:55:51: Output resolution: 1920x1080
00:55:51: ------------------------------------------
00:55:51: Loading up D3D10 on NVIDIA GeForce GTX TITAN (Adapter 1)...
00:55:51: ------------------------------------------
00:55:51: Audio Format: 48000 Hz
00:55:51: ------------------------------------------
00:55:51: Audio Channels: 2 Ch
00:55:51: Playback device Default
00:55:51: ------------------------------------------
00:55:51: Using desktop audio input: Speakers (Sound Blaster Recon3Di)
00:55:51: Global Audio time adjust: 0
00:55:51: Using 5.1 speaker setup
00:55:51: ------------------------------------------
00:55:51: Audio Encoding: AAC
00:55:51: bitrate: 128
00:55:51: ------------------------------------------
00:55:51: device: USB2.0 1.3MP UVC Camera,
00:55:51: device id \\?\usb#vid_04f2&pid_a133&mi_00#7&141d862&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global,
00:55:51: chosen type: MJPG, usingFourCC: false, res: 640x480 - 640x480, frameIntervals: 333333-2000000
00:55:51: use buffering: false - 0, fourCC: 'MJPG'
00:55:51: audio device: Disable,
00:55:51: audio device id Disabled,
00:55:51: audio time offset 0,
00:55:51:
00:55:51: Using directshow input
00:55:51: Using graphics capture
00:55:51: Trying to hook process: bf3.exe
00:55:51: Scene buffering time set to 5600
00:55:51: Successfully loaded ObsNvenc.dll
00:55:51: ObsNvenc initialized successfully
00:55:51: CUDA loaded successfully
00:55:52: 1 CUDA capable devices found
00:55:52: [ GPU #0 - < GeForce GTX TITAN > has Compute SM 3.5, NVENC Available ]
00:55:52: NVENC internal init finished successfully
00:55:52: NVENC supports 8 h264 presets
00:55:52: ------------------------------------------
00:55:52: Video Encoding: NVENC
00:55:52: fps: 60
00:55:52: width: 1920, height: 1080
00:55:52: preset: default
00:55:52: profile: high
00:55:52: level: autoselect
00:55:52: keyint: 30
00:55:52: CBR: no
00:55:52: CFR: yes
00:55:52: max bitrate: 50000
00:55:52: avg bitrate: 50000
00:55:52: buffer size: 100000
00:55:52: quality: 10
00:55:52: ------------------------------------------
00:55:53: SharedTexCapture hooked
00:56:28: FlushBufferedVideo: Flushing 338 packets over 5616 ms
00:56:34: Total frames encoded: 2133, total frames duplicated: 28 (1.31%)
00:56:34: Total frames rendered: 2138, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
00:56:34: Encoder closed
00:56:34: NVENC deinitialized
00:56:34:
00:56:34: Profiler time results:
00:56:34:
00:56:34: ==============================================================
00:56:34: video thread frame - [100%] [avg time: 0.736 ms] [children: 92.1%] [unaccounted: 7.88%]
00:56:34: | scene->Preprocess - [20.7%] [avg time: 0.152 ms]
00:56:34: | GPU download and conversion - [71.5%] [avg time: 0.526 ms] [children: 71.5%] [unaccounted: 0%]
00:56:34: | | flush - [41.8%] [avg time: 0.308 ms]
00:56:34: | | CopyResource - [2.04%] [avg time: 0.015 ms]
00:56:34: | | conversion to 4:2:0 - [27.6%] [avg time: 0.203 ms]
00:56:34: Convert444Threads - [100%] [avg time: 1.125 ms] [children: 99.6%] [unaccounted: 0.356%]
00:56:34: | Convert444toNV12 - [99.6%] [avg time: 1.121 ms]
00:56:34: encoder thread frame - [100%] [avg time: 6.952 ms] [children: 0.748%] [unaccounted: 99.3%]
00:56:34: | sending stuff out - [0.748%] [avg time: 0.052 ms]
00:56:34: ==============================================================
00:56:34:
00:56:34:
00:56:34: Profiler CPU results:
00:56:34:
00:56:34: ==============================================================
00:56:34: video thread frame - [cpu time: avg 0.08 ms, total 171.875 ms] [avg calls per frame: 1]
00:56:34: | scene->Preprocess - [cpu time: avg 0.021 ms, total 46.875 ms] [avg calls per frame: 1]
00:56:34: | GPU download and conversion - [cpu time: avg 0.043 ms, total 93.75 ms] [avg calls per frame: 1]
00:56:34: | | flush - [cpu time: avg 0.043 ms, total 93.75 ms] [avg calls per frame: 1]
00:56:34: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
00:56:34: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
00:56:34: Convert444Threads - [cpu time: avg 1.222 ms, total 4390.63 ms] [avg calls per frame: 2]
00:56:34: | Convert444toNV12 - [cpu time: avg 1.222 ms, total 4390.63 ms] [avg calls per frame: 2]
00:56:34: encoder thread frame - [cpu time: avg 0.13 ms, total 234.375 ms] [avg calls per frame: 1]
00:56:34: | sending stuff out - [cpu time: avg 0.008 ms, total 15.625 ms] [avg calls per frame: 1]
00:56:34: ==============================================================
00:56:34:
00:56:34: =====Stream End: 2015-09-06, 00:56:34=================================================
 

xtreem

New Member
PS: Just some other details. I tried shadowplay (lack of webcam thou) and the video is smooth as the famas video I uploaded while on windows 8.1. Tried OBS with x264 superfast and the video is smooth so it is definitely something with the gamecapture and NVENC.

PS2: just tried Action! the trial. NVENC is working properly. But i cant flip the webcam, etc...I want my working NVENC on OBS!!!! Any help?
 
Last edited:

Veetus

Member
PS: Just some other details. I tried shadowplay (lack of webcam thou) and the video is smooth as the famas video I uploaded while on windows 8.1. Tried OBS with x264 superfast and the video is smooth so it is definitely something with the gamecapture and NVENC.

PS2: just tried Action! the trial. NVENC is working properly. But i cant flip the webcam, etc...I want my working NVENC on OBS!!!! Any help?

Did you ever get this resolved? I am in the same boat. However I use x264 not NVENC. Is NVENC better?
 

Sapiens

Forum Moderator
The issue described in the original post has been resolved for months. If you're having performance problems please make a new thread.
 
Top