Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sdl2.ext exhibits inconsistent multi-display window behavior #113

Open
sfsdfd opened this issue Nov 22, 2017 · 2 comments
Open

sdl2.ext exhibits inconsistent multi-display window behavior #113

sfsdfd opened this issue Nov 22, 2017 · 2 comments
Assignees

Comments

@sfsdfd
Copy link

sfsdfd commented Nov 22, 2017

sdl2.ext exhibits some very odd behavior with windows in multi-display systems.

I'm using sdl2.ext on an iMac with two displays. If I initialize sdl2.ext and then create two fullscreen windows - one on each display - they show up and work fine... sometimes.

Oddities that I've experienced:

  1. If you've previously created a routine, normal-sized window on a primary display, you absolutely cannot get a fullscreen display on the same window. The fullscreen window simply doesn't appear.

  2. If you create a fullscreen window on the primary display - the one with with the dock - sometimes the dock and menubar show up over the fullscreen window. There is no way to control this behavior, or even predict it.

  3. If you create two fullscreen windows, hide them (to show the desktop), and then show them again - the window on the secondary display (without the dock) shows up, but the window on the primary display does not. Nothing appears there.

  4. If you create two fullscreen windows, then call sdl2.ext.exit(), and then sdl2.ext.init(), and then recreate both windows - you get the opposite behavior as in Add tutorial for playing music and sound #3. The window on the primary display appears, and the secondary display turns fullscreen black and nothing can be drawn to it.

  5. Transitions into fullscreen (in scenarios where fullscreen works) are typically quite nice: the desktop smoothly fades out and the fullscreen window fades in. Transitions out of fullscreen are a different story, with lots of weird flickering, repeated fading in and out, and eventually your desktop snaps back into place. It's strange and very disconcerting.

Basically - sdl2.ext fullscreen should be considered fatally broken on multi-display systems.

@marcusva
Copy link
Collaborator

Please provide some example code, which triggers the described behaviour for further inspection.

@a-hurst
Copy link
Member

a-hurst commented Jan 20, 2020

My work desktop is a Mac with a second display, so I'll test these out and try and see what I can reproduce.

Regarding number 2: I've actually gotten this myself with pysdl2 before, but only ever in a single room of iMacs running 10.9.5 (I'm a cognitive science researcher, we were using the room for running participants through an attention experiment written in pysdl2), never with anything newer. All of these macs only had one display, so that wasn't the issue there, and it only happened at random (about half the time), so I'm assuming it was an SDL2 * specific macOS framebuffer interaction. I've never seen it before or since, and I've done a good deal of pysdl2-based development with a dual-monitor setup. Also I was using pysdl2 w/ PyOpenGL for drawing things to the screen, not sure if that plays a factor or not.

@a-hurst a-hurst self-assigned this Jan 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants