Skip to content
This repository has been archived by the owner on Dec 17, 2023. It is now read-only.

retina mode wrong dimensions #26

Closed
fanckush opened this issue Sep 25, 2018 · 6 comments
Closed

retina mode wrong dimensions #26

fanckush opened this issue Sep 25, 2018 · 6 comments

Comments

@fanckush
Copy link

I have a 2560 x 1440 Dell external monitor.
when I select a retina mode (ex: 1920x1080 ⚡️) from the RDM menu, everything looks sharp and dow scaled to 1080p but when I take a screenshot or a screen recording I realised that the resolution is actually 3840 × 2160 instead of 2560 x 1440!

How can I solve this?

@Argon-
Copy link

Argon- commented Nov 1, 2018

You can't. This is normal and the way how HiDPI works on OSX.
When you have a "looks like x" resolution (in your case 1920x1080) then OSX renders an image twice that size: 3840x2160. This image is then scaled down to the actual native resolution of your screen (2560x1440).

This makes HiDPI on OSX look nice but computationally very taxing.

@fanckush
Copy link
Author

fanckush commented Nov 1, 2018

But when running on the native MacBook display which happens to also have a resolution of 2560×1440. when i use the default HiDPI mode my screenshots and screen recordings have the expected resolution (2560×1440) not 3840×2160

Am I missing something?
Another Question: Does this mean that running my dell monitor at max res actually consumes less resources than with HiDPI?

@Argon-
Copy link

Argon- commented Nov 1, 2018

This all depends on the specific resolutions and relations. Using RDM I can set my 4K display to either a normal 4K resolution (nativ, no scaling applied) or a "HiDPI" 4K resolution which then actually renders to 4320x7680 and scales it down to 4K again for displaying. The latter setting produces screenshots in 4320x7680.

Another Question: Does this mean that running my dell monitor at max res actually consumes less resources than with HiDPI?

Yes. Well, assuming that "max res" is the native resolution. Because the scaling factor in OSX is 2, it allows you to "run" displays at twice the native resolution. That's the reason I can set the resolution for my 4K display to 4320x7680 despite this not making much sense. But this only means that OSX renders to 4320x7680. It scales the image down to the display's respective native resolution afterwards.
So, when you want to preserve energy/resources: choose the non-HiDPI native resolution of a display (because HiDPI always implies scaling to twice the selected resolution). When you still want to have HiDPI then go for the resolution that is exactly half the display's native resolution, so that it doesn't unnecessarily render to a bigger surface (bigger than the display's native resolution) and therefore doesn't need to scale this down to native resolution. E.g. on a 4K display choose 1920x1080 HiDPI because the doubling will turn it into 4K and no additional scaling down step is needed then.

(* for the sake of simplification we assume 4K = 2 * FullHD, so actually UltraHD)

@fanckush
Copy link
Author

Been a while. so you are saying that macOS has a scaling factor of x2 and it cannot be changed to be 1.5 for example
I wonder if native monitors (retina displays) work differently. because whatever retina resolution I choose for the internal monitor it always renders to the native resolution.. which does not seem to be the case with external monitors

@Argon-
Copy link

Argon- commented Mar 31, 2019

I wonder if native monitors (retina displays) work differently. because whatever retina resolution I choose for the internal monitor it always renders to the native resolution..

How did you test this? My MBP's internal screen works just like my external 4K display.

@fanckush
Copy link
Author

fanckush commented Apr 1, 2019

I just did a full test. and I am wrong. For whatever reason I had the impression it worked differently on the internal monitors
Thanks for the help.

Screenshot 2019-04-01 at 11 42 01

@fanckush fanckush closed this as completed Apr 1, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants