team-phoenix / Phoenix

A multi-system emulator and library manager designed to be both powerful and easy to use.
http://phoenix.vg
GNU General Public License v2.0
377 stars 39 forks source link

Pause during fullscreen transition #219

Closed athairus closed 8 years ago

athairus commented 8 years ago

I'm not honestly sure why, but the fullscreen transition on both Windows (which isn't animated) and OS X (which is) causes hiccups in the audio. This happens even when emulation is 100% offloaded onto a dedicated thread. Maybe there's some easy solution to this, but I'm not seeing it.

So, the proposed solution is to simply pause the session while the transition happens. The trick is figuring out how to hook this...

We could try pausing, assigning the variable that puts us in fullscreen, then unpausing. That might work if the main thread is really being blocked during this transition.

athairus commented 8 years ago

I've added it, not sure it did anything? To really verify that the audio isn't all messed up, we need to stop having the main thread block the game thread. In other words, move InputManager off the main thread.

athairus commented 8 years ago

Blocked until #223 is resolved.

athairus commented 8 years ago

Gotta close this one... not sure what the cause is but it's got nothing to do with the input code... feature-pipeline (#249) confirms this. The problem has to be fixed somewhere else, this won't help.