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

OS X "Retina" support in editor GUI #20

Closed
EdShaw opened this issue Feb 11, 2014 · 24 comments
Closed

OS X "Retina" support in editor GUI #20

EdShaw opened this issue Feb 11, 2014 · 24 comments

Comments

@EdShaw
Copy link

EdShaw commented Feb 11, 2014

The editor GUI doesn't support "Retina" displays on OS X. The editor will open with OS X's scaling compatibility mode, which makes for horrible looking text and graphics.

screen shot 2014-02-11 at 01 41 11

Support for similar High DPI desktops will be important on other platforms in the future too.

@godotengine
Copy link
Collaborator

Sorry to hurt your eyes :P I think Godot supports exporting OSX Apps with HDPI, but I haven't tested it. I don't have any device with HDPI display so I'll either have to wait for the day I can purchase one, or someone contributes a patch, as changing the default theme for HDPI should be relatively easy.

@EdShaw
Copy link
Author

EdShaw commented Feb 11, 2014

I'll look into it tomorrow.
On 11 Feb 2014 01:52, "okamstudio" notifications@github.com wrote:

Sorry to hurt your eyes :P I think Godot supports exporting OSX Apps with
HDPI, but I haven't tested it. I don't have any device with HDPI display so
I'll either have to wait for the day I can purchase one, or someone
contributes a patch, as changing the default theme for HDPI should be
relatively easy.

Reply to this email directly or view it on GitHubhttps://github.com//issues/20#issuecomment-34719332
.

@godotengine
Copy link
Collaborator

Actually on second thought, it would probably be a little more difficult. Most of the editor uses containers, so increasing the font size is a non issue, but I guess all the icons in tools/editor/icons would need to be remade in higher resolution, which sounds like considerably more work.. Maybe using an algorithm like EAGLE would work? :)

@EdShaw
Copy link
Author

EdShaw commented Feb 11, 2014

The approach a lot of applications take is to scale icons up but make sure
text is rendered nicely, as a quick hack. It looks much better, even if the
icons look a bit rubbish. Getting high dpi text/canvas support out and then
focusing on making it look pretty might be a good idea.
On 11 Feb 2014 02:10, "okamstudio" notifications@github.com wrote:

Actually on second thought, it would probably be a little more difficult.
Most of the editor uses containers, so increasing the font size is a non
issue, but I guess all the icons in tools/editor/icons would need to be
remade in higher resolution, which sounds like considerably more work..
Maybe using an algorithm like EAGLE would work? :)

Reply to this email directly or view it on GitHubhttps://github.com//issues/20#issuecomment-34720265
.

@TiZ-HugLife
Copy link
Contributor

The funny thing is, Godot's built-in 2d scaling actually looks pretty good; I know because I'll be relying on it for resolution-independent UIs and I've tested it by rendering a 2d scene made for 1024x768 at 2048x1536. Whatever OSX is doing, it looks like trash. Really, it can't even bother to filter it? Maybe as an interim quick fix, whenever the window is resized on high dpi displays, it can use the set_size_override to be half the size of what the actual window size is, and enable stretching.

@solgar
Copy link

solgar commented Feb 13, 2014

zrzut ekranu 2014-02-13 o 13 33 10
This is what I got on retina MacBook Pro. Additionally I can't click any button. only "mouse down:" appears in console. When I maximize windows glitches dissapear but still I cannot press any buttons and because of that do anything in Godot.

@tudalex
Copy link

tudalex commented Feb 17, 2014

What version of MacOS are you running solgar ? I have a 15 rMBP and I don't have this problem.

@solgar
Copy link

solgar commented Feb 17, 2014

Version before Mavericks. But I cannot reproduce it with newest binary and it works as it should.

@tudalex
Copy link

tudalex commented Feb 21, 2014

After this merge on the retina display it doesn't take into account my resolution and starts in full retina resolution which is impossible to see
screen shot 2014-02-21 at 19 31 53 1 2

@punto-
Copy link
Contributor

punto- commented Feb 21, 2014

The only solution is to buy the newest Mac obviously

On Fri, Feb 21, 2014 at 2:33 PM, Tudorica Constantin-Alexandru <
notifications@github.com> wrote:

After this merge on the retina display it doesn't take into account my
resolution and starts in full retina resolution which is impossible to see
[image: screen shot 2014-02-21 at 19 31 53 1 2]https://f.cloud.github.com/assets/205058/2232582/26783420-9b1e-11e3-9abe-6ca9419bafa1.png

Reply to this email directly or view it on GitHubhttps://github.com//issues/20#issuecomment-35753183
.

@reduz
Copy link
Member

reduz commented Feb 21, 2014

should I revert it or this can be fixed?

On Fri, Feb 21, 2014 at 2:33 PM, Tudorica Constantin-Alexandru <
notifications@github.com> wrote:

After this merge on the retina display it doesn't take into account my
resolution and starts in full retina resolution which is impossible to see
[image: screen shot 2014-02-21 at 19 31 53 1 2]https://f.cloud.github.com/assets/205058/2232582/26783420-9b1e-11e3-9abe-6ca9419bafa1.png

Reply to this email directly or view it on GitHubhttps://github.com//issues/20#issuecomment-35753183
.

@tudalex
Copy link

tudalex commented Feb 21, 2014

I'm not sure if that merge is the cause or if another one produced it :)

@reduz
Copy link
Member

reduz commented Feb 21, 2014

hmm :( and I don't have a retina display to test, so I guess the only
choice I have is, unless someone with retina / non retina can make a patch
to fix this is to revert

On Fri, Feb 21, 2014 at 2:43 PM, Tudorica Constantin-Alexandru <
notifications@github.com> wrote:

I'm not sure if that merge is the cause or if another one produced it :)

Reply to this email directly or view it on GitHubhttps://github.com//issues/20#issuecomment-35754167
.

@tudalex
Copy link

tudalex commented Feb 21, 2014

Don't revert it! It didn't introduce the problem I'm having. Gonna play a little while with git and see if I can figure out what did.

@kevinhartman
Copy link
Contributor

@tudalex, on my MBPr 15", Godot did not open in scaling compatibility mode, even before my changes. My change simply does exactly the window size backing conversion that was already being done in windowDidResize(), but on window initialization too.

I believe what happened for you is that you changed your AppKit version from something pre 10.6 to something newer. That, or your MAC_OS_X_VERSION_MAX_ALLOWED otherwise changed since your last build.

@jcs224
Copy link
Contributor

jcs224 commented Oct 16, 2014

I also have a 15" MacBook Pro Retina, and unfortunately, find it unusable in this state. Everything is so tiny....

screen shot 2014-10-15 at 11 18 56 pm

While the older version was quite a bit uglier on a screen like this, it was usable. This is not usable. I don't have the programming prowess to fix it, unfortunately, but I think it should at least be rolled back to what the first screenshot looks like for a 1.0 release. Usable beats ugly any day. My two cents.

@reduz
Copy link
Member

reduz commented Oct 16, 2014

agreed, i didn't know it looked like this in a retina display. I don't have
any device with this capability.

Do you know what needs to be changed in the OSX port for it to return to
normal?

On Thu, Oct 16, 2014 at 2:24 AM, jcs224 notifications@github.com wrote:

I also have a 15" MacBook Pro Retina, and unfortunately, find it unusable
in this state. Everything is so tiny....

[image: screen shot 2014-10-15 at 11 18 56 pm]
https://cloud.githubusercontent.com/assets/6226188/4657906/fd265562-54f3-11e4-8286-1c4219d16e64.png

While the older version was quite a bit uglier on a screen like this, it
was usable. This is not usable. I don't have the programming prowess to fix
it, unfortunately, but I think it should at least be rolled back to what
the first screenshot looks like for a 1.0 release. Usable beats ugly any
day. My two cents.


Reply to this email directly or view it on GitHub
#20 (comment).

@jcs224
Copy link
Contributor

jcs224 commented Oct 16, 2014

It looks like the change to this new system happened in this commit, 3974a5e. Perhaps we can try going back and working from there? I can also try it tonight when I get home from work.

@kevinhartman
Copy link
Contributor

Again, that change isn't responsible for things looking tiny on a retina display. Things look tiny because the UI layout code is probably using absolute values for component sizes, instead of something modern like a weighted relative layout system. Reverting that change wont resolve the issue. It will make the screen take up 1/4 the window size. If fixing the layout isn't in the plans, you'll want to create a non-retina compatible window.

@reduz
Copy link
Member

reduz commented Oct 18, 2014

fixing layout is out of the question for now. For that i'd need to get
access to a retina-compatible disiplay device, and for the time being that
is prohibitively expensive in Buenos Aires. so, how do you crate a
non-retina compatible window?

On Sat, Oct 18, 2014 at 6:34 AM, Kevin Hartman notifications@github.com
wrote:

Again, that change isn't responsible for things looking tiny on a retina
display. Things look tiny because the UI layout code is probably using
absolute values for component sizes, instead of something modern like a
weighted relative layout system. Reverting that change wont resolve the
issue. It will make the screen take up 1/4 the window size. If fixing the
layout isn't in the plans, you'll want to create a non-retina compatible
window.


Reply to this email directly or view it on GitHub
#20 (comment).

@jcs224
Copy link
Contributor

jcs224 commented Oct 18, 2014

I got it. I was opening the straight binary pulled from Github to try and run this program, and doesn't allow Mac OS X to utilize its "Low Resolution" mode. When I download the binary from your website in the .app wrapper, it works fine!

screen shot 2014-10-18 at 10 37 27 am

screen shot 2014-10-18 at 10 39 53 am

@savuori
Copy link

savuori commented Sep 23, 2015

I'm running Linux on my MBP retina, so I have the same issue. Are the pane/menu/control sizes calculated from the font/icon sizes or do they have some other logic? Would it be feasible to introduce a scaling factor which would zoom all the fonts / icons / (maybe margins/paddings) with it? I can run godot on retina os x and linux so I would be glad to test it but I can try fixing it as well if I can get some tips on what's the most probably the reasonable way place in the code to do the scaling so it wouldn't be a patchwork all over the place.

@vnen vnen closed this as completed Jun 2, 2016
hungrymonkey referenced this issue in hungrymonkey/godot Sep 30, 2017
Use static linking instead of dynamic linking
lawnjelly added a commit to lawnjelly/godot that referenced this issue Apr 10, 2023
Fix Polygon2D skinned bounds (for culling)
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