[Scummvm-tracker] [ScummVM] #9945: OPENGL: Alt+Enter misbehaves in OpenGL mode on MacOS
Colin Snover
trac at scummvm.org
Tue Jul 18 01:11:18 CEST 2017
#9945: OPENGL: Alt+Enter misbehaves in OpenGL mode on MacOS
-------------------------+-----------------------
Reporter: angstsmurf | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: --Unset--
Resolution: | Keywords:
Game: |
-------------------------+-----------------------
Changes (by csnover):
* status: pending => new
* resolution: worksforme =>
Comment:
OK, I don’t seem to have a lot of patience to do research on this right
now, but I have reproduced the issue on macOS 10.11.6 using one hi-dpi
monitor (on the left) and one standard monitor (on the right), with
“Displays have separate Spaces” turned on in Mission Control. The GUI is
messed up spectacularly in different ways depending upon hardware
configuration:
1. With just the hi-dpi monitor connected, the GUI doesn’t actually know
how to draw with proper scaling, so the UI is rendered lo-dpi but using
the retina display resolution (so all the elements are tiny).
2. With lo-dpi monitor + hi-dpi monitor, where the hi-dpi monitor is used
as a secondary screen, when switching to full-screen mode with ScummVM on
this secondary screen it ends up drawing on the primary screen with the
wrong y-resolution so the GUI elements get cut off.
3. With lo-dpi monitor + hi-dpi monitor, where the hi-dpi monitor is used
as a primary screen, when switching to full-screen mode with ScummVM on
this primary screen it ends up with a negative left and bottom offset so
ends up drawing off the bottom-left side of the screen.
Even when forcing ScummVM to open in low-resolution mode, these problems
continue to exist; I guess the OpenGL renderer is bypassing that mode
setting and requesting a hi-dpi surface. (I don’t know anything about
OpenGL at the moment to know what this might be.)
(Tangentially, in all cases, performance of the GUI with OpenGL backend is
_abysmal_. It takes up to 10 seconds just to render the GUI after
switching to fullscreen, and then the mouse cursor won’t move for several
seconds after that. Every time a new dialog opens it takes 6+ seconds to
render. This problem is resolution-dependent, even at 640x480 it gets
janky when clearing the modals. The performance is so bad I feel like
recommending that OpenGL get disabled entirely on this platform in the
next release if this problem isn’t fixed.)
I haven’t tried disabling separate Spaces yet to see how that might change
things but I am guessing it would only make things worse.
The first idea I have to solve this ticket is to stop using
SDL_SetWindowDisplayMode API and see if we can’t do OpenGL fullscreen
using fake fullscreen at least on macOS.
--
Ticket URL: <https://bugs.scummvm.org/ticket/9945#comment:12>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list