PSA for Windows 10 Anniversary Update users

Status
Not open for further replies.

SkySlammin

New Member
Okay, so it didn't fix jack shit.

https://gist.github.com/29a35d8f7c72ea8b83648ad4fa7c472a

Really gonna go use and buy xSplit tomorrow.. Fuck me, i don't see a choice. Hopefully OBS adds future support of CPU compositing instead of using the GPU. Because it clearly has to do with how Microsoft's new s@$! code handles GPU's since i read allot of the same stuff in the last 4 hours on Nvidia's forums causing other problems.
 

Cryonic

Member
Yep, If you wanna stream and dont feel like changing your whole OS and messing with the autoupdates on Win10 (if you stick to Win10), Xsplit is a viable option. Get a 3 month code or so, i got 12 months. For me it is not just MS, it is everyone who provides a solid ground for streaming > hardware, software, OS, drivers, tools whatever. Cant fix crap? Get ready to be replaced.
And i love Win10 so far, i love what MS has done with that OS, it feels good, is fast, stable and just plain nice to use. So adapt or go under. If MS changes something (and they do it all the time), i expect quick updates from anyone who has software running on that OS and getting problems.
I dont care what went wrong and who did, i expect working products on the market.
 

RytoEX

Forum Admin
Forum Moderator
Developer
And i love Win10 so far, i love what MS has done with that OS, it feels good, is fast, stable and just plain nice to use.
It may be those things for you, and I'm happy that you're having a good experience on Windows 10. I also enjoy many aspects of Windows 10, but I know many people who do not, and I know of plenty of stability issues caused by Windows 10 (updates causing PCs to hang on boot, for one). Windows 10 is largely stable for many people, but it is not stable for everyone.


If MS changes something (and they do it all the time), i expect quick updates from anyone who has software running on that OS and getting problems.
I dont care what went wrong and who did, i expect working products on the market.

That's the thing though. This issue has not occurred on a development machine, and even when it has occurred on the machines of community members who give their time to help debug with the developer, it still proves difficult to track down and isolate. It's not quite as simple as "This just broke, so let's just fix it." Excluding metadata, binary files (images), config files, translation data, and other non-core-functionality files, there's something close to 200,000 lines of code for OBS Studio. It's being investigated, but the investigation has yet to turn up anything like a smoking gun or an obvious fix.

You may not care how difficult it is or isn't to fix, and you may just want a fix. I understand that, and I wish the issue were easy to understand and fix. However, the alternatives to this PSA are lots of fragmented micro-communications across the community, or radio silence. Providing what information is available and trying to provide workarounds is, in my opinion, better than those alternatives.
 

Cryonic

Member
Well, the first and biggest source of information would be MS itself. They roll patches out and they provide information what they have done with it.
Just like Nvidia - they dont offer every information, some stuff is internal - but they have teams that help with fixing stuff. As a developer you can count on them and be sure that you get the information pretty fast. If not 100% accurate, it will still be enough to get around it blah.
This is what bothers me - where is the internal communication between developers in that case.
I understand that it might be under NDA, but something like "we are working with Microsoft on a fix" would be better than radio silence. Workarounds are usually not 100% accurate and might break other things. Sure, an option - but not a solution for the problem.

Like i said, my audio gear was never changed and it was stable. But game streamer cant afford the luxury of having their system not updating or changing over months or years. Game patches, drivers, OS and streaming platforms are constantly updating and the development has to be right on the spot to keep the stability somewhat close to 99%. 100% is simply not possible.
For me this is not a money issue, i can pay for software - but only when it is good, really good. When it is worth it (too many early access games :-D). While i can accept issues with alpha/beta/early access games, i cant accept issues with everything else i use.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
I upgraded to the AU to test this out, and I've been investigating this -- again this issue is definitely not obs' fault at this point, especially after seeing it first hand. I believe it's some sort of driver or internal windows race condition when multiple 3D programs are active at once and when VRAM is near exhaustion, which is why it probably has taken so long for them to do anything about it. It happens only under specific conditions.

The conditions to make it occur *seem* to be that multiple 3D applications (particularly OBS and D3D11+ games) need to be active while VRAM is near exhaustion, then some sort of race condition is happening when the card has to fallback and use system RAM for video resources. OBS can typically use up to 200-300 megs of VRAM so it's understandable that it happens on occasion. Especially seems to happen with OBS and Direct3D 11+ games, games that are prone to eat up all the VRAM when used in conjunction with OBS. Something in that process there can trigger some sort of race condition to occur in the driver or internally in windows, and the driver just freezes up and has to be terminated, causing obs and all other 3D programs to stop rendering or outright crash (with D3D11 returning a device hang error). Another reason I suspect a race condition is because it doesn't seem to really happen when the game or obs is running by themselves, though I can only speculate unfortunately. I can't say for 100% sure what's going on because it happens in driver modules, but that's my best educated guess.

Predominantly seems to happen with nvidia cards with 4 or less gigabytes of VRAM, though we've had some reports of AMD cards having total driver restarts as well, but they've been much less frequent than nvidia, so I don't know if AMD issues are unrelated or not. Almost never happens on the more recent series of cards with 8+ gigs of VRAM.

Reproducing tends to be sporadic, but some users have noted that it happens all the time with specific games for them. For one person, they used OBS studio with a geforce 980 and capture forza (via display capture), and for that particular individual the issue seems to happen every time.

I'm sure they're aware that something strange is going on. If it's a race condition that only happens under very specific circumstances, then it's far harder to catch, debug, and track down, so it would explain why the issue has gone unsolved for longer than expected by microsoft or nvidia. Most of the time users are not running multiple 3D rendering applications at once either. Streaming is sort of a special case.

So that's my preliminary investigation and thoughts on the matter.

At this point I just need to get in contact with driver engineers at nvidia, or engineers at microsoft somehow. I pray to god I can actually get in contact with someone.

Again, this is not a bug with OBS. It's mostly just an unusual circumstance that they haven't caught in testing yet.
 
Last edited:

Cryonic

Member
There is no internal workaround for OBS Studio, so users could avoid using the VRAM at all? Some games just dont give a crap about VRAM and pump it full (no reason not to, it is usually quick enough). I have some games that could help with testing, specially shadow of mordor will fill up as much VRAM as you can throw at it.

This is also why i didnt get that problem rightaway - i was streaming LoL with like 0,8GB total VRAM usage.

Like i said, i can help with testing that and providing videofiles, logs and everything else needed - but if that cant be fixed withhin the software in a reasonable timespan, there is no reason to go all in.

Dont you get any information from MS? They test a lot of stuff, but the normal updates are slightly different to insider updates and it is hard to track down issues there - as an insider i managed to find some strange issues that never went public. So you should get detailed info on what MS does there with public updates, because even expirienced insider cant help you here anymore. Same goes for any developer out there, starting with AMD and Nvidia - they should have the information before the patch goes live.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
If the user uses all their VRAM or something I can't work around it. There's nothing I can do at that point outside of contacting someone. I'm not even entirely sure that's the problem, that's just my best educated guess based upon the limited amount of data and testing I have at the moment.

I don't even know anyone at microsoft. I don't have super awesome contacts there, I wish I did. They're a big company, and this is a niche genre of programs that probably don't always go through QA. There are way too many programs out there in the world for microsoft to test every single one. I can probably get in contact with microsoft, but it's a process. Again there are too many programs and programmers out there to be able to just easily get in contact with an engineer every time they think they have an issue. So basically I have to go through whatever official channels there are, or maybe hopefully talk to someone who may have a connection (which I think I may be able to), and then pray that I can get the issue through to them to help solve it sooner. Same applies for nvidia. I'm probably going to try nvidia first because their driver is freezing, and I actually might know someone at nvidia. It's just a process that people have to deal with though.

That being said it's not like any of these companies are going to just let a race condition slide. Race conditions and situations like these are always taken pretty seriously and have very high priority, but the nature of race conditions is that they can happen spontaneously rather than consistently, so it's very easy for a race condition (especially with such unusual conditions) to slide past QA.

There is nothing you can do to help except provide logs where it happens. In terms of workarounds or code on my end, there isn't much I can do either. The program isn't doing anything wrong either, it's just an unlucky sequence of events and I need to get in contact with the appropriate people.

I know about the issue, and I'm trying to notify the appropriate parties about the issue to help get it fixed; there's nothing more I can really say on the matter. If you have an important stream, uninstall the AU until it's fixed; the AU has specifically been delayed on many computers just because it seems microsoft is not comfortable with making everyone upgrade to it yet. It's basically a new version of windows internally. But rest assured it will eventually be fixed. It's an issue they will almost assuredly take seriously if they don't already know about it. This device hang issue isn't happening just with streaming programs from what I've heard either.

I would be happy if we left the conversation at this rather than continue to speculate about what more I could do or what more users could do, okay Cryonic? If needed, just uninstall the AU while waiting for it to be fixed. It will eventually be fixed. I am not about to let this issue continue to users, the program is pretty much my job at this point so I have to get the issue solved somehow or another.
 

Cryonic

Member
I found my workaround in a different product.
This is why i was asking for an internal workaround, since Xsplit works here, at least i didnt manage to crash it or freeze it in the 20 hours i tested it now after i found the issue.
Would love to help, since i'm not alone with that issue - but i dont think that there is much help. Didnt expect that issue to be that strange, usually stuff is easier to replicate.

If there is nothing that can be done without external help from bigger players, i would love to see some warnings for people.
As an example: Native Instruments sends out warnings per e-mail if an update is not compatible or not stable when combined with their products. Something like that might help. Sure, Win10 cant be configured to ignore updates without heavy modding, but that would help.
 

RytoEX

Forum Admin
Forum Moderator
Developer
If it helps anyone at all, I changed my encoder from x264 to NVENC and the problems I was experiencing (https://obsproject.com/forum/threads/stream-stops-working-on-some-high-motion-games.55734/) haven't happened again... yet.

If it is video related, might it have something to do with multi monitor setups on particular video drivers?
I've observed the issue reported by people with setups that only use a single monitor. I've also observed the issue reported from systems with Nvidia, AMD, or Intel graphics adapters. I've also observed the issue with people using x264, NVENC (Media Foundation or not), VCE (Media Foundation), and sometimes before an encoder even comes into play.

If switching to NVENC has managed to remove your issue, I'd just count yourself lucky.
 

Nermor

New Member
If it helps anyone at all, I changed my encoder from x264 to NVENC and the problems I was experiencing (https://obsproject.com/forum/threads/stream-stops-working-on-some-high-motion-games.55734/) haven't happened again... yet.

If it is video related, might it have something to do with multi monitor setups on particular video drivers?
Im using NVENC and OBS freeze like always
On OBS Classic i got all time after 20 min streaming ERROR like (texture map failed)
 
If I ever end up with a crash I will submit something. Currently though OBS is working without any issues. Hope this ends up being an easy fix in the end. Anniversary update messed with a lot of things... I end up having to restart my computer due to some odd issue where my graphics core only runs around 50%. Not even a fresh install fixed this issue in the end... It feels more like Microsoft needs to fix their problems...
 

Darkmage4

New Member
If the user uses all their VRAM or something I can't work around it. There's nothing I can do at that point outside of contacting someone. I'm not even entirely sure that's the problem, that's just my best educated guess based upon the limited amount of data and testing I have at the moment.

I don't even know anyone at microsoft. I don't have super awesome contacts there, I wish I did. They're a big company, and this is a niche genre of programs that probably don't always go through QA. There are way too many programs out there in the world for microsoft to test every single one. I can probably get in contact with microsoft, but it's a process. Again there are too many programs and programmers out there to be able to just easily get in contact with an engineer every time they think they have an issue. So basically I have to go through whatever official channels there are, or maybe hopefully talk to someone who may have a connection (which I think I may be able to), and then pray that I can get the issue through to them to help solve it sooner. Same applies for nvidia. I'm probably going to try nvidia first because their driver is freezing, and I actually might know someone at nvidia. It's just a process that people have to deal with though.

That being said it's not like any of these companies are going to just let a race condition slide. Race conditions and situations like these are always taken pretty seriously and have very high priority, but the nature of race conditions is that they can happen spontaneously rather than consistently, so it's very easy for a race condition (especially with such unusual conditions) to slide past QA.

There is nothing you can do to help. There is nothing you can do at all right now. In terms of workarounds or code on my end, there isn't much I can do either. The program isn't doing anything wrong either, it's just an unlucky sequence of events and I need to get in contact with the appropriate people.

I know about the issue, and I'm trying to notify the appropriate parties about the issue to help get it fixed; there's nothing more I can really say on the matter. If you have an important stream, uninstall the AU until it's fixed; the AU has specifically been delayed on many computers just because it seems microsoft is not comfortable with making everyone upgrade to it yet. It's basically a new version of windows internally. But rest assured it will eventually be fixed. It's an issue they will almost assuredly take seriously if they don't already know about it. This device hang issue isn't happening just with streaming programs from what I've heard either.

I would be happy if we left the conversation at this rather than continue to speculate about what more I could do or what more users could do, okay Cryonic? If needed, just uninstall the AU while waiting for it to be fixed. It will eventually be fixed. I am not about to let this issue continue to users, the program is pretty much my job at this point so I have to get the issue solved somehow or another.

It actually does it even when not using the entire VRAM, I was playing Minecraft/streaming it a few times awhile ago. Minecraft doesn't take up much especially on a powerful system. I have 2GB of VRAM, 16GB of RAM.

Now I do have issues when streaming Overwatch, CSGO, Rocket League. and H1Z1 King of the Kill, those are a little more intensive, and it shuts down. However, I discovered and I think it's been covered. I did a whole night of streaming Rocket League and CSGO but I used the monitor display instead of game display and it worked just fine. I am on

version: 1607
build: 14393.321

and I just got this last night: Cumulative Update for Windows 10 Version 1607 for x64-based Systems (KB3194798) But I have not tested it out yet. I stream within the hour, so I can report my findings here after that. But I am using NVENC as the encoder, with display capture instead of game capture. I've been using OBS, and would rather stick to OBS as it has the setup I like, with chroma key integration, and browser source for twitch chat and alerts.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Switching to OBS' OpenGL renderer may fix the problem but it will greatly reduce capture performance in terms of capturing games because all the major capture optimizations are done via Direct3D. You can do it if you want to, but I generally wouldn't recommend it. Make sure to switch back as soon as this issue is fixed by microsoft/nvidia if you really want to.

Darkmage4 - Pretty sure KB3194798 doesn't have anything useful for our specific issue with it.

Do you have the issue more often with your video adapter only having 2gigs of VRAM? Keep in mind that even though you may not be using 100% of your VRAM, it doesn't mean it's always using VRAM, especially on a card like yours. VRAM is likely pooled so some textures can't always be allocated on VRAM if there isn't an adequate consecutive chunk of free space to accommodate its total size.

I don't think it generally happens with OpenGL games, primarily seems to be D3D11+ games and on nvidia cards mostly, though I could be wrong.

To you and anyone having the issue: make sure to also provide a log file of where it occurred. Get that log for me if possible.
 
Status
Not open for further replies.
Top