Bug Report Windows 8 - Working as Intended - Software Capture

Ravencoff

New Member
I like this software so I wanted to mention what I've found:

As you've probably noticed, trying to use software capture in Windows 8 has a tendency to drop your system's framerate down. On two independent machines I had my games drop in framerate from 60fps down to 45 when attempting to stream. This is obviously unacceptable for anything where split second timings are required. (Dustforce in my case.)

Looking into it, I was noticing that despite admin privileges for OBS, and the disable Aero button being checked, the glassy Frames of Aero were not disappearing. I attempted to turn this off manually. As it turns out, while you can turn off the glassy frames, you cannot disable the underlying problem: Windows Desktop Window Manager.

http://msdn.microsoft.com/en-us/library/windows/desktop/hh848042(v=vs.85).aspx

Turns out Windows 8 simply cannot have this turned off. You'll notice a comment at the bottom of the article from a developer complaining about such with OpenGL. If you do some more searching around you'll discover some comments from Microsoft essentially saying tough luck.

Playing around with this some more, I found a workaround in the form of not capturing the whole desktop (which inherently invokes the Windows DWM). Simply capturing individual windows (interior for sure, but I had success with the whole window as well) popped me back up to 60FPS on the machines I tested it on. Note that even if the window was taking up the entire screen so that the end result is exactly the same the frame rate is not diminished at all.

In the end I learned to fiddle about more with scenes and capture windows and am better off for it. Only thing I wish now is if there were ways to script triggers between scenes. But I suppose I could write that myself...


TLDR:
Windows DWM is a bigger problem than Aero
Windows 8 can't turn off DWM
Capturing Individual Windows does increase performance.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
In the latest versions of the application (0.455 and up), I do not use or rely on older methods for monitor capturing on windows 8, so DWM and the slowdown that came with capturing aero shouldn't be a concern anymore. At least it isn't from my tests and the results I've seen so far.

Windows 8 implemented a specific new capturing method for full monitor capturing. It's called "output duplication", a feature which was introduced in DXGI 1.2 (which is on windows 8 only). I've implemented that method into the "monitor capture" option in software capture when you happen to be on windows 8. If you select monitor capture while on windows 8, it will use this method unless your monitor is tied to another GPU. It's very fast, and on my machine gets 60fps monitor capture easily, with almost zero CPU overhead, and seems to be entirely on the GPU.

If you have an issue with it, post a log so I can see what's up.
 
Top