Hey guys. I'm nearing the end of my game project, (which you can check out here
http://www.silvergobletgames.com/) and I've noticed some some problems with video capture and twitch streaming.
When I stream to twitch using OBS (industry standard software) the video output is choppy and has lots of black frames. Once every few seconds or so the entire video output will flash black for a frame or two. If I try to record to a file using video capture software the video output is choppy but with no black frames. This problem is fairly consistent, but on rare occasion if I restart the game the problem will go away. While recording, the game runs at a solid 60fps with no stutters or problems. This problem is reproducible on my computer with a brand new Nvidia card and on my friends computer with a new Radeon card.
As far as the game rendering goes I am using the NEWT toolkit and the latest Jogl 2.2.4 . I use a self driven rendering loop without an animator, but while trying to debug this problem I switched to the glwindow.invoke(GlRunnable) technique proposed by Goussej in the following thread
http://forum.jogamp.org/synchronization-issues-td4029115.html#a4029136 . Switching to this technique may have mitigated the problem, the black frames seem less frequent but still occurring. I feel like this problem is maybe related to GLContext sharing/locking problems, as I have had problems with this in the past. I share the context with an OffscreenAutoDrawable that I use for threaded texture loading, so maybe the problem is incorrect context sharing code?
Do you guys have any hint on what might be causing this, or what avenues I could explore to fix it? I can link example code if you would like, let me know.
Thanks a lot,
Mike