Bug Report DirectX 11 renderer in windows 10 visually hitches in windows GUI?

Pyromuffin

New Member
When using the directx 11 renderer, and having OBS MP open at all (even in an empty scene), windows hitches 2-5 seconds whenever mousing over the windows gui: start menu, date and time settings, control panel. It doesn't seem to happen when interacting with windows explorer. It doesn't happen when interacting with other programs. The problem goes away when I switch to the opengl renderer.

this issue is pretty severe, making interacting with the windows gui almost impossible while OBS is open. It is not just a hitch in the video capture, or program I'm recording, it's a hitch in the entire operating system, audio still plays for a few seconds into the hitch, and then pauses until the hitch is over. the hitches occur every few second when moving the mouse over any part of the aforementioned windows gui. I've also had task manager open while this occurs, there's no spike in cpu usage or memory usage, or any other performance metrics while the hitches occur.

Hope this helps, it took me a while to try and figure out actually what was causing the issue, and I'm glad switching to opengl renderer makes it so i can continue using obs mp, otherwise, I would probably have to switch to some other software. Additionally, I believe this occurs in regular old OBS as well, but i haven't do as much testing with that.
 

Attachments

  • 2015-12-20 17-30-52.txt
    16.9 KB · Views: 22

Lain

Forum Admin
Lain
Forum Moderator
Developer
(Changed topic to reflect more of what's actually occurring)

I do know of this, but it's caused by monitor capture, not the renderer, it usually only happens on secondary monitors while fullscreen graphics applications are open (meaning fullscreen games typically). I've never heard of it occurring when a fullscreen game wasn't active. The effect is only visual -- internally everything is actually rendering/respoding fine, but it's just not updating the monitor output for some reason. I suspect it's some internal thing microsoft/nvidia is doing on windows 10 because it's completely out of my control. The monitor capture code is definitely not at fault.

Originally I thought that microsoft was intentionally doing it on windows 10 while monitor capture was active as some sort of optimization relative to the new capture feature they gave it, but if this is happening without games or other graphics applications for you then it appears to be a bug in either microsoft's or nvidia's win-10 specific code.

Things to note:
1.) This is caused by monitor capture, not the renderer, and appears to only be on windows 10. I feel like it has to do with the new feature where monitor capture can now capture fullscreen games because usually that's when it only occurs, but it's something outside of my own code, not something caused by my code.
2.) This effect is actually only visual -- it's updating the monitor's image very slowly, but everything is still actually running as per normal despite it visually appearing to be hitching on the monitor. Your system is not locking up at all, it's just a visual thing that affects the output to the monitor.
3.) Usually this only happens to secondary monitors when a fullscreen game is active, I've never heard of it happening outside of that circumstance, if that's happening to you then you would be the first I've heard it from, and I'll probably have to contact either nvidia or microsoft about it to try to report it to them.

If you don't have a fullscreen game open or something similar and are having this happening (very strange, first time I would have heard of it), then I'd just use window capture or game capture for the time being on things you need to capture. You can switch to OpenGL if you wish, but you will take a relatively big hit to capture performance. I'd recommend sticking with DirectX and just avoiding monitor capture if you're having this situation happen. It's the most optimal option.

If however you are just having it happen on secondary monitors while a fullscreen program is active, you can just safely ignore it for the time being until microsoft/nvidia fix it. Or you can switch scenes and use game capture instead or something probably. Or you can just run your game in a borderless mode.


I'm an idiot, misread the post, may not be the monitor capture issue, though I wouldn't be surprised if it was related to monitor capture. What I described above is related to a visual "stuttering" that can occur on secondary monitors while monitor capture is active and capturing a game running fullscreen game on the primary monitor. After reading the original post more thoroughly it's probably unrelated, but may still be somewhat related to monitor capture under certain circumstances.
 
Last edited:

Lain

Forum Admin
Lain
Forum Moderator
Developer
Actually let me follow up -- your description seems different from what I described, probably isn't the same issue. It only happens when you interact with main windows UI? Something definitely seems wrong here. Very unusual, can't replicate and haven't heard it elsewhere either.

I really need to make the program log the monitors and the adapters they're hooked up to. How many monitors do you have, and which adapter are they hooked in to?

Also, check to see if completely removing monitor capture fixes the issue. Curious about that as well. Wouldn't be surprised if it was related to a specific capture source.

I don't get this on my end and haven't heard this elsewhere so I can't help but feel that it's either a multi-GPU issue or something up with monitor capture under specific circumstances (drivers? windows needing updating? I can only make wild speculations at this point). Only reason I mention multi-GPU is because I noticed your intel integrated was active alongside the nvidia.
 
Last edited:

Pyromuffin

New Member
I've done a bit more testing. Yes, you're right that it's occurs whenever I've selected "display capture", and actually deleting all the sources out of the scene causes it to stop hitching. The applications I'm recording aren't full screen or games even (though unity editor is probably close enough), and at any rate the windows GUI hitches without any applications running besides OBS.

I have 3 monitors, all hooked into the GTX 980. It's interesting that the integrated GPU is listed as active, I'm not using it. Though, I did wind up installing the drivers for it and enabling it in bios because i heard that that was required to get the quicksync encoder to work. i'll disable the integrated gpu in bios and see if that has any effect. Also, the graphics drivers and windows are up to date.
 

Pyromuffin

New Member
I've disabled the integrated gpu in bios and it doesn't make any difference with regards to the hitching. I've attached the log file that confirms this.

I have also disconnected two of my monitors at the gpu, this doesn't make a difference either.
This is weird for me because I don't recall it always doing this. I have recently installed some color management software, and I'm wondering if it's doing something weird to the graphics driver, as it does upload color LUTs to the gpu.

edit:
i've reinstalled windows and it doesn't appear to be hitching anymore, so I guess I will assume it was something on my end.
 

Attachments

  • 2015-12-21 00-08-35.txt
    13.5 KB · Views: 10
Last edited:

Lain

Forum Admin
Lain
Forum Moderator
Developer
So you reinstalled windows and everything was fine after? Hm, I wonder if it was some specific software you had installed that wasn't playing nice. Anyway, thanks for letting me know.
 
Top