Question / Help Desktop Windows Composition and Windows 8.1 Pro x64 [SOLVED]

hyperjenn

New Member
Hi, I'm Jenn, also new to these forums.
I stumbled upon a problem when switching from Windows 7 x64 to Windows 8.1 Pro x64.
I have the EXACT same setup, same laptop, same hardware, same configuration, everything.
Windows 7 never did anything like the problem I now have in Win 8.1. Here's the problem;

Whenever I record or stream in OBS, after 1-5 minutes the screen blinks, and hangs the graphics of one, some or all the games. It doesn't hang the game, it just stops rendering the graphics -- I can still hear the sound and if I click around, I can hear myself interacting with it. I have ALL the latest drivers for the computer, motherboard, ALL devices including graphics cards etc. Also ALL Windows Updates installed, nothing more to install. The computer itself came with Windows 8.1 pro x64 with the authentication sticker underneath, containing the CD-key. I just didn't like W8 from the beginning and that's why I haven't used it until now. However, W8 is faster, renders things faster (like visualizers, spectrum analyzers and so on) so I'd like to keep using it.

Both OBS and QSVHelper.exe are specifically set to use only the Nvidia adapter, forcibly through the Nvidia Control Panel, so it's not a switching graphics problem because it's a laptop. The default setting in Nvidia Control Panel is to use the Nvidia graphics card aswell. Also, none of this was ever a problem in Windows 7. I'm not using the QuickSync function.

I'm going to include some things here that aren't exclusive to Open Broadcaster, but can be helpful in troubleshooting, just for the sake of it. So, here's what I gathered from event viewer right when it happened;



A logon was attempted using explicit credentials.
Subject:
Security ID: SYSTEM
Account Name: PIXIELIGHT$
Account Domain: HYPERUNKNOWN
Logon ID: 0x3E7
Logon GUID: {00000000-0000-0000-0000-000000000000}
Account Whose Credentials Were Used:
Account Name: DWM-1
Account Domain: Window Manager
Logon GUID: {00000000-0000-0000-0000-000000000000}



An account was successfully logged on.
Subject:
Security ID: SYSTEM
Account Name: PIXIELIGHT$
Account Domain: HYPERUNKNOWN
Logon ID: 0x3E7
Logon Type: 2
Impersonation Level: Impersonation
New Logon:
Security ID: Window Manager\DWM-1
Account Name: DWM-1
Account Domain: Window Manager
Logon ID: 0x412659B
Logon GUID: {00000000-0000-0000-0000-000000000000}
Process Information:
Process ID: 0x304
Process Name: C:\Windows\System32\winlogon.exe



Special privileges assigned to new logon.
Subject:
Security ID: Window Manager\DWM-1
Account Name: DWM-1
Account Domain: Window Manager
Logon ID: 0x412659B
Privileges: SeAssignPrimaryTokenPrivilege
SeAuditPrivilege
SeImpersonatePrivilege



An account was logged off.
Subject:
Security ID: Window Manager\DWM-1
Account Name: DWM-1
Account Domain: Window Manager
Logon ID: 0x3E3290A
Logon Type: 2



So as you can see, DWM is logging in and out some account that can be all the way up to DWM-7 from what I've seen so far. It just logs in, sets some parameters and the directly logs out. This is a ONE-user system, Only my user account is on it, and remote login has been disabled. In Windows 7, at least DWM could be disabled - not that I ever had to, because it worked with all my stuff, but seeing as DWM is screwing up totally in Win8, I thought I'd just disable the server, but it's nowhere to be found. Also, it seems Microsoft changed how it works, the system has been redesigned to generate an OK even if it's still on, like this example below:

DwmEnableComposition( DWM_EC_DISABLECOMPOSITION ) does not work on Windows 8, even though it returns S_OK. Confirmation is by calling DwmIsCompositionEnabled(), which shows the former function had no effect.

There's only 1 dwm.exe running:

dwm-01.jpg


There's only 1 user logged in (me):

dwm-02.jpg


Here's the complete user list of the system:

dwm-03.jpg


And here's the system information from my computer itself:

System:
sysinfo-01.jpg


Devices:

sysinfo-02.jpg


Running only 1 game at a time is not an option for me, since I'm multiboxing World of Warcraft (7x).



^ I wrote all of that 2 days ago, and I've had some time to check some more stuff. If I run OBS in W7 compatibility-mode, I get a completely black video when recording and streaming, it's also pitch black in the preview, whichever graphics card I choose in the settings (Intel HD Graphics 4600 and NVIDIA GeForce GTX880M). However, when I have it in W7-compatiblity-mode, I get another option -- Microsoft Basic Render Driver. When using that one it actually works, but I'm getting down from 120+ FPS (when all 7 WoW's are running) down to about 15-20 fps and lags. I have no idea where to continue, I've really thought of everything I could here, and I need some help figuring this one out.

I used OBS to record all 7 WoW's using desktop-streaming as I've always done, with Windows 7. Here's what it looks like when using Windows 7, just to show what I mean, what I'm doing and that it's working out VERY well:

http://www.youtube.com/user/hyperjennwow

I really need some help with this one :)

// Jenn
 

hyperjenn

New Member
In the interest of information sharing, I just thought I'd post the resolution.
I didn't have time to experiment with this at all for another 2 weeks but then I eventually solved it.
Solution:

Set all the games to use the nvidia card.
Set all processes that has to do with obs/open broadcaster to use the integrated intel card.

Problem solved, with full FPS everywhere.
 

Osiris

Active Member
That will cause problems for game capture though, since OBS needs to run on the same GPU as the game.
 

hyperjenn

New Member
Seems to me you haven't tried it, or you just don't know what you're talking about.

I have OBS set to the internal Intel card, and the 7 wow's (since I'm running 7 wow's at the same time, multiboxing) to the nvidia GPU. For the past month I've both streamed and recorded in full fps, with all 7 wow's up, without any trouble whatsoever .. I'm never going under 110fps with the 7 running, with these settings.

Here's what I recorded 2 weeks after the initial post, just after I solved it.
This is with OBS set to Intel and all 7 wow's set to nvidia.

https://www.youtube.com/watch?v=As1-Lw_XhyU

Explain to me how that's not working, since it's obviously working.
 

Osiris

Active Member
What about my comment isn't true? Game Capture will show a black screen when OBS is set to the intel card and the game(s) are set to the nvidia. You are probably using window capture or something.
 

hyperjenn

New Member
Nop. I'll just record it so you can see the settings and put it on Youtube, when I get home from work. That'll probably make you scratch your head for a bit afterwards i suppose ;D
 

Sapiens

Forum Moderator
As a general rule, laptops with switchable graphics need to be set up a certain way for OBS window and game capture sources to work with them - OBS needs to be run on the same GPU that's rendering the game, and for Quick Sync users QSVHelper.exe needs to be run on the integrated GPU. If you've managed to wrangle it into working some other way for your rather unique situation of multiboxing 7 (jeeze) WoW clients then great, but there's no need to cock off to Osiris for relaying the same info that's stickied at the top of the forums.
 
Top