Bug Report GameCapture Update broke old OpenGL game.

KynikossDragonn

New Member
I was able to stream successfully with no ill effects until today when a update got released and now the game's audio stops working and crashes whenever it tries to play audio at all. The game is called Homeworld: Cataclysm and it must be run in "Windows NT 4.0 (Service Pack 5)" compatibility mode for OpenGL to work at all. (The compat mode setting did not cause OBS to error at all and it picked up the game just fine without killing it's audio)

I read in the changelog some memory leaks were fixed with recording OpenGL applications, my log files show no errors and OBS itself does not actually crash. Only the game crashes and it crashes with a typical "Has stopped working" error message.

If I switch to window capture it works again but the framerate suffers horribly as the game maxes out a single core, the game is so old that OBS cannot hook into D3D as it uses D3D 7. The game itself as well as it's renderers were compiled with the Intel C\C++ Compiler and I'm running a AMD Phenom 2 X4 Quadcore at 2.60 GHz. (I've heard bad things happen with programs compiled with the Intel compiler being runned on any processor that does not report "GenuineIntel" as it's name)

Here's a log file up until I cause the game to crash:
Code:
05:22:24: Open Broadcaster Software v0.542b - 32bit (´・ω・`)
05:22:24: -------------------------------
05:22:24: CPU Name: AMD Phenom(tm) II X4 810 Processor
05:22:24: CPU Speed: 2600MHz
05:22:24: Physical Memory:  4095MB Total, 4095MB Free
05:22:24: stepping id: 2, model 4, family 15, type 0, extmodel 8, extfamily 0, HTT 1, logical cores 4, total cores 4
05:22:24: monitor 1: pos={0, 0}, size={1680, 1050}
05:22:24: Windows Version: 6.1 Build 7601 S
05:22:24: Aero is Disabled
05:22:24: -------------------------------
05:22:24: OBS Modules:
05:22:24: Base Address     Module
05:22:24: 002C0000         OBS.exe
05:22:24: 66350000         OBSApi.dll
05:22:24: 6A200000         DShowPlugin.dll
05:22:24: 6DD40000         GraphicsCapture.dll
05:22:24: 6EEA0000         NoiseGate.dll
05:22:24: 68E40000         PSVPlugin.dll
05:22:24: ------------------------------------------
05:22:24: Adapter 1
05:22:24:   Video Adapter: AMD Radeon HD 6800 Series
05:22:24:   Video Adapter Dedicated Video Memory: 1060859904
05:22:24:   Video Adapter Shared System Memory: 3234041856
05:22:24: =====Stream Start: 2013-07-23, 05:22:24===============================================
05:22:24:   Multithreaded optimizations: On
05:22:24:   Base resolution: 1366x768
05:22:24:   Output resolution: 1364x768
05:22:24: ------------------------------------------
05:22:24: Loading up D3D10...
05:22:24: Playback device Default
05:22:24: ------------------------------------------
05:22:24: Using desktop audio input: Speakers (2- Creative SB X-Fi)
05:22:24: ------------------------------------------
05:22:24: Audio Encoding: AAC
05:22:24:     bitrate: 48
05:22:24: Using graphics capture
05:22:24: Using Window Capture
05:22:24: ------------------------------------------
05:22:24: Video Encoding: x264
05:22:24:     fps: 30
05:22:24:     width: 1364, height: 768
05:22:24:     preset: veryfast
05:22:24:     CBR: no
05:22:24:     CFR: no
05:22:24:     max bitrate: 500
05:22:24:     buffer size: 500
05:22:24:     quality: 3
05:22:24: ------------------------------------------
05:22:25: SharedTexCapture hooked
05:22:41: Exit signal received, terminating capture
05:22:44: Total frames rendered: 614, number of frames that lagged: 1 (0.16%) (it's okay for some frames to lag)
05:22:44: =====Stream End: 2013-07-23, 05:22:44=================================================
05:22:50: 
05:22:50: Profiler results:
05:22:50: 
05:22:50: ==============================================================
05:22:50: frame - [100%] [avg time: 4.827 ms (cpu time: avg 3.429 ms, total 2106.01 ms)] [avg calls per frame: 1] [children: 99.8%] [unaccounted: 0.207%]
05:22:50: | frame preprocessing and rendering - [43.4%] [avg time: 2.095 ms (cpu time: avg 1.371 ms, total 842.404 ms)] [avg calls per frame: 1] [children: 24.8%] [unaccounted: 18.6%]
05:22:50: | | scene->Preprocess - [24.8%] [avg time: 1.199 ms (cpu time: avg 1.092 ms, total 670.802 ms)] [avg calls per frame: 1]
05:22:50: | video encoding and uploading - [56.4%] [avg time: 2.722 ms (cpu time: avg 2.057 ms, total 1263.61 ms)] [avg calls per frame: 1] [children: 53.1%] [unaccounted: 3.29%]
05:22:50: | | flush - [6.46%] [avg time: 0.312 ms (cpu time: avg 0.05 ms, total 31.2 ms)] [avg calls per frame: 1]
05:22:50: | | CopyResource - [0.394%] [avg time: 0.019 ms (cpu time: avg 0.025 ms, total 15.6 ms)] [avg calls per frame: 0]
05:22:50: | | conversion to 4:2:0 - [1.6%] [avg time: 0.077 ms (cpu time: avg 0.025 ms, total 15.6 ms)] [avg calls per frame: 0]
05:22:50: | | call to encoder - [44.6%] [avg time: 2.154 ms (cpu time: avg 1.93 ms, total 1185.61 ms)] [avg calls per frame: 0]
05:22:50: | | sending stuff out - [0.0207%] [avg time: 0.001 ms (cpu time: avg 0 ms, total 0 ms)] [avg calls per frame: 0]
05:22:50: | Convert444Threads - [1.34e+003%] [avg time: 64.899 ms (cpu time: avg 2.362 ms, total 1450.81 ms)] [avg calls per frame: 1]
05:22:50: ==============================================================
05:22:50:

Is it possible for me to downgrade OBS in the mean time? I hope it isn't awkward that I'm using such a program like this to record a game as old as this one is... given the fact it absolutely has to have that specific compat setting or OpenGL crashes it completely. I need to use the GameCapture for this because the software window capture will cause inconsistent framerate as I'm already using a window capture to serve as keeping my twitch.tv chat in the stream.
 
Try it with Window Capture again but this time with Aero Enabled.

Alternative solution: Running the game in a Virtual Machine running Windows XP (Win XP may be more compatible with the game) and then simply Window Capturing that Virtual Machine.

Downgrading OBS -- http://sourceforge.net/projects/obsproject/files/ -- Take your pick, pick a version that you know worked.
 
Actually Windows XP suffers the same problem. (yes I'm telling this from fond memories of trying to get Cataclysm to run on a Pentium 4 Dell computer that ran Windows XP home edition 32-bit) I had to run in Win NT compat just to get OpenGL to work at all on that. D3D works fine regardless of compat settings but it is too old for ANYTHING to hook into it, not even FRAPS can recognize it.

I don't use Aero as it causes tremendous annoyance playing any sort of 3D accelerated game.

I'm testing other games with OpenGL, I've had a case where Unreal Tournament + OBS = GPU driver crashing when using OpenGL via UTGLR but kentie.net's d3d10drv never caused such a massive crash. I recently upgraded my video drivers too.

I'd hate to downgrade seeing if there was memory leak issues with OpenGL recording I wouldn't want that while streaming a RTS game like Cataclysm (even though my games take no longer than 3 hours usually) but I'm in the process of doing so in the time being... Hope this bug get's fixed though.

EDIT: 0.541b does not crash Cataclysm with game capture so it's quite literally today's update that surfaced this issue.
 
KynikossDragonn said:
I don't use Aero as it causes tremendous annoyance playing any sort of 3D accelerated game
Then you're doing something really, really very wrong. I always have Aero Enabled, am on the same GPU as you are and don't lose a single frame over having Aero Enabled.

Anyhow, Window Capture is faster with Aero Enabled. I'm just offering a solution, nothing more.

What's that title? Homeworld: Cataclysm. Hmmm, let's see if I can't come up with some working settings for you.

Edit: http://www.twitch.tv/kharay1977/b/434657616 -- http://pastebin.com/aEB7FPZf -- cataclysm.exe /window /1024 (it's running in its D3d mode) -- Window Capture in OBS, Aero Enabled. Not losing a single frame, not lagging a single frame. Not even running it in compatibility mode. Quality issues aside (I did not put any effort into making it look better), it does work. Just fine. On similar hardware to yours.
 
D3D in that game causes horrible flickering in the menu that /Triple can't fix unless the game runs in OpenGL mode. (probably because triple buffer never existed for D3D as I always see that as a OpenGL only feature)

I guess window capture works faster in Aero simply because Aero is d3d10, but I dislike window composting especially since whenever I play most of my games for more than 2 hours Windows will start complaining that it's "running low on resources", which is why I don't use the compositor anymore... Also with really picky games like I'76 (which doesn't work at all now thanks to AMD's crappy drivers) will almost always crash for me if I have Aero running... EVEN THOUGH I'm using a glide wrapper. I get much better performance out of old games when they use OpenGL instead of D3D something I thought was only really possible on NVIDA devices but D3D7 is horrible and D3D6 (or 5..?) is even worse....

I had a lengthily stream with this downgrade and hadn't run into the game crashing at all or otherwise acting odd. I might experiment some more with the new update and see if it breaks any other game than Cataclysm.
 
The menu behaved just fine for me. As I demonstrated, this update did not break any games, nor does the game actually require compatibility mode to run but to no avail, it would seem. So, gl, hf.
 
Wow!
Well, isn't that a coincidence? I posted the exact same problem with the exact same game last saturday! :)

Jim answered me and asked me to try out a test build, but I won't be able to do so until friday evening at the earliest... Would there be any chance of you testing this out for him? The sooner this is fixed the better, in my opinion! :D

Here is my thread: https://obsproject.com/forum/viewtopic.php?f=6&t=5890
 
The bug is still not fixed, I may revert the code back to the slower GL capture until I can ensure stability with the new method.
 
What exactly is the hook doing that's clobbering the game's audio thread?

I'm not much of a programmer but I've been learning C\C++ for a few months and this issue is rather curious seeing the only thing I'm having issues with is homeworld.
 
Back
Top