Bug Report Screen flickering when swapping from/to javaw/Minecraft

Moesh

New Member
Hey, I've been coming the forums for months trying to figure out what a solution is without switching from Game Capture to Monitor/Window capture (framerate is just faster). In my stream, I constantly swap from a transition screen, Notepad++, Minecraft (javaw.exe), and MCEDit (javaw.exe). This is due to the nature of developing custom content for the game.

After awhile, the game capture of Minecraft begins to flicker/blink to black with game capture. The only way to solve this is to close out of OBS, then Minecraft, then reboot both.

The problem is most common (and can be reproduced) when:
- Minecraft crashes out and must be rebooted
- Transitioning form Minecraft and MCEDit (two javaw.exe programs that can be use game capture)
- Minecraft is closed while capturing and then restarted[/list]

It should be noted I'm using simple scene switcher to automatically transition, but the problem is still present without it.

Here are my log file:
http://pastebin.com/9FDMUkA8

Any advice on how to avoid this flickering problem would be extremely helpful.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Are you running minecraft fullscreen? If you are and you have to constantly alt-tab out I would probably recommend not running it fullscreen anymore.

Or, if it's just using the two applications under the same program (in this case, java), does MCDEdit use opengl? If it does then it may be causing a conflict in game capture because game capture can't really distinguish which application is which if they're both running in the same java application instance. If it's separate java instances, you might want to try game capture hotkey, though honestly I wouldn't know what to suggest other than that. I don't know if there really is a good solution in this particular case. It's actually somewhat difficult to deal with and I don't know if I have a recommendation outside of the window/monitor capture suggestion that as you said you would prefer not to use.
 

Moesh

New Member
Thanks for the quick reply.

I am not running Minecraft full screen. MCEDit does use OpenGL.

To be honest, I can do without streaming the MCEDit window. The problem comes when Minecraft (java) crashes and must be restarted. The blinking starts then.

Also, the only information I could find on the game capture hotkey was "Specify what program to capture via a hotkey instead of selecting it from the dropdown." in the help files. Could you explain the benefit of using this instead of specifying an application?
 

R1CH

Forum Admin
Developer
If you have two applications called javaw.exe, OBS might get confused over which one to open. Using the hotkey tells OBS to lock on to the currently open window, so it gets the right one.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Hotkey just makes it so that when you press the hotkey, it captures the window that you currently have in focus.
 

Moesh

New Member
Thanks, R1CH and Jim. I'm considering this problem solved.

---

Hijacking my own thread for future folk looking to solve this problem:

After some further investigation, I found out that MCEdit is not actually a Java program, but Python. The two javaw.exe (for those who don't know: javaw is a runtime environment which Minecraft runs in) come from the Minecraft Launcher we are all forced to use to open Minecraft, and then the actual Minecraft program.

I found that the Minecraft Launcher doesn't actually always close properly, so it shows up in the processes as javaw.exe, which (as R1CH stated above) may confuse OBS.

Here is how you fix the problem:
  1. Change your Game Capture properties to "Use Hotkey" (shown here)
  2. When streaming, start up Minecraft and once you're ready to display it, just hit F12 (or whatever you have it set as)
  3. If and when Minecraft crashes, OBS will handle it by going to a black screen
  4. Don't panic, just reboot Minecraft and get it setup again. Use your hotkey. This prevents OBS from getting confused.

Another thing I did was move Minecraft to a global source, so it always captures once it hooks into a window. I suspect this might help with the screen blinking that comes from the constant screen switches, though I have no idea if this is correct or best practice.

(Edit: spelling)
 
H

hiru

this is really bad necroposting but I had a problem with Minecraft glitching in OBS when capturing a borderless windowed game and I came here looking for a solution. OP solution didn't work for me but doing like so displayed Minecraft without any troubles:

I'm using OBS 0.16.6 right now!
  1. Add a scene for Minecraft if you want
  2. Launch the game
  3. Add a new source "GameCapture" and name it Minecraft and hit OK
  4. In the Mode menu choose "Capture specific window"
  5. In Window choose [javaw.exe]: Minecraft
Done.. hope I won't be banned but I just registered to make this post useful for future users! Bye bye
 
Top