The SDL forums have moved to discourse.libsdl.org.
This is just a read-only archive of the previous forums, to keep old links working.


SDL Forum Index
SDL
Simple Directmedia Layer Forums
Retina full screen rendering problem
oviano


Joined: 05 Mar 2016
Posts: 24
Attached is a simple project that clears the screen to red, green or blue in sequence, updating every second.

This works fine on a non retina Mac, but doesn't work properly with my retina Macbook.

Instead I see two issues:

1) the renderer seems to be trying to intersperse red with whatever the current colour is, making it flicker at high frequency.
2) more often than not, after existing the app my Macbook is unusable until I reboot it as something has gone wrong with the display mode. Everything is either jumping all over the place or it stays still but everything has a strange fuzzy appearance. It's a bit hard to describe.

I have reproduced this with both 2.0.4 and 2.0.5 using the standard downloaded frameworks. It was built with Xcode 7.3.1 on an El Capitan Mac.

I don't get this issue in windowed mode, or full screen desktop. I don't want to use full screen desktop though, as my application (a video player) needs the capacity to change the refresh rate, which I understand requires a proper screen mode change.

https://www.dropbox.com/s/ognfgcx3k5pnnr8/test.zip?dl=0
oviano


Joined: 05 Mar 2016
Posts: 24
Just to clarify - although as stated I am building on El Capitan (10.11), the issue I am seeing is on a retina MacBook running Sierra (10.12).

I don't have access to a retina 10.11 to see if it occurs there.
oviano


Joined: 05 Mar 2016
Posts: 24
I did a little more testing, this time with a VMWare Sierra VM configured as a retina VM.

This one actually draws things in full screen but shows some major scaling problems.

Here is a summary of my findings.

El Capitan (VM):

- desktop correctly reported as 1440 x 900
- if you create a window 1280 x 720, the renderer output size is correctly reported as 2560 x 1440. Draws correctly.
- in full screen mode, the renderer output size is correctly reported as 2880 x 1800. Draws correctly.

Sierra (VM):

- desktop correctly reported as 1440 x 900
- if you create a window 1280 x 720, the renderer output size is correctly reported as 2560 x 1440. Incorrectly scales up textures to double the width and height they should be, meaning you only see the bottom left corner of the texture.
- in full screen mode, the renderer output size is wrongly reported as 5760 x 3600. Draws "correctly" insofar as if you want to fill the screen entirely with a texture it will scale correctly to 5760 x 3600.

Sierra (Physical MacBook Pro):

- desktop correctly reported as 1440 x 900
- if you create a window 1280 x 720, the renderer output size is correctly reported as 2560 x 1440. Draws correctly.
- in full screen mode, the renderer output is correctly reported as 2880 x 1800. Doesn't draw properly at all, renderer seems to like the colour red. After exiting, the display is often unstable and a reboot is necessary.

Possibly the Sierra (VM) results are spurious and caused by something in VMWare's retina implementation. Then again, the El Capitan (VM) works fine so...