Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Robertsmania

macrumors member
Original poster
Mar 15, 2012
35
0
I've been running my rMBP at the native 2880x1800 resolution and am generally happy.

All the applications I use have options to adjust the zoom satisfactorily. But it is annoying that the general UI elements are so small.

It seems like the image assets are there to for the 1920x1200 HiDPI mode. Looking at screenshots, its clear that pixel per pixel the 2880x1880 elements are smaller.

Is it at all possible to consider running in the native resolution but use the UI elements from the scaled 1920x1200 mode?

2880_1920_Compare_01.jpg
 
I've been running my rMBP at the native 2880x1800 resolution and am generally happy.

All the applications I use have options to adjust the zoom satisfactorily. But it is annoying that the general UI elements are so small.

It seems like the image assets are there to for the 1920x1200 HiDPI mode. Looking at screenshots, its clear that pixel per pixel the 2880x1880 elements are smaller.

Is it at all possible to consider running in the native resolution but use the UI elements from the scaled 1920x1200 mode?

Image

Running in 1440x900 HiDPI accomplishes essentially what you're asking. Per pixel, the 1440x900 HiDPI and 1920x1200 HiDPI are about the same.

Thing is, to display 1920x1200, the RMBP scales it down before sending the image off to the display. So everything appears smaller, but the assets themselves aren't any smaller.

Hope that made sense.
 
Last edited:
The only thing you gain by running native 2880x1800 is a LOT of screen real estate. Because everything becomes tiny! Best for retina is running at 2880x1800 but scaling the UI elements (and using 4x res UI elements). The only time I see it appropriate to use native unscaled res is for apps that are either for pixel editing and you need a 1:1 image...in that case I use a second display for UI elements and only have the image on my rMBP screen. Or for apps that run full screen but haven't been adapted to how hiDPI works. Plex for example runs at the resolution the OS tells it it is. So in Best for Retina, it thinks the screen is 1440x900, so everything is blocky looking. If you force native 2880x1800 using Switchresx everything becomes clear, because if you go into the prefs you will see it is now running at 2880x1800. I'm sure this will eventually be fixed.

For basic use tho, there is no reason to use native res. All the apple apps scale using 4x UI elements. If you are using a browser you will have to manually zoom in to be able to read anything...at which point you are just adding a step to do what the OS does for you natively.
 
There are only two sets of UI elements. 1x and 2x.

'Native' 2880x1800 uses the 1x elements at 2880x1800.

"Looks like 1440x900" uses the 2x elements at 2880x1800.

"Looks like 1920x1200" uses the 2x elements at 3840x2400 and scales that down to 2880x1800 to display on screen.

So if you want things to be the size that they are at "Looks like 1920x1200" you should choose that option.
 
So basically, you're asking for the OS to output a 2880x1800 image, but with @2x UI assets all scaled at a 2/3 factor.

That would technically be possible, but I think performance would take a serious hit.

How scaling is currently done, UI elements themselves aren't scaled, it's only the OS that outputs a higher than necessary resolution (3840x2400) which is then downscaled to 2800x1800.

The reason for this is that it's less performance-intensive to scale the final output (a single image) than every single UI element displayed on screen.

I don't think Apple would allow that, people are complaining enough about "lag" already. Imagine if they got like 5 FPS during UI animations with that kind of scaling, people would go crazy at Apple like it's their fault that real-time high-resolution scaling is intensive.
 
Try using the terminal commands from this article:

http://hints.macworld.com/article.php?story=20060119152725322

I am not sure if it will still work though, Apple is likely to scrapped flexible scale factors after Snow Leopard or so.

----------

The reason for this is that it's less performance-intensive to scale the final output (a single image) than every single UI element displayed on screen.

I don't think there is any performance win like you say at all. Texture filtering (aka scaling) is very cheap on modern hardware, arbitrary UI rendering (text etc.) is not. And by rendering to a bigger buffer OS X actually has to do text rendering at higher resolutions.

The main reason is actually to improve the quality of the final image. What Apple does here is essentially supersampling anti-aliazing. This allows to keep the quality of the final image comparable to a native 1680x1050, 1980x1200 etc. screen.
 
I don't think there is any performance win like you say at all. Texture filtering (aka scaling) is very cheap on modern hardware, arbitrary UI rendering (text etc.) is not. And by rendering to a bigger buffer OS X actually has to do text rendering at higher resolutions.

The main reason is actually to improve the quality of the final image. What Apple does here is essentially supersampling anti-aliazing. This allows to keep the quality of the final image comparable to a native 1680x1050, 1980x1200 etc. screen.

Makes sense, thanks for the correction.

After all, icons are already scaled considering original PNGs are only present in a couple of resolutions (16, 32, 64, 128, 256, 512 and 1024) and icons settings allow you to have a more precise control over icon size. AFAIK performance isn't different when having your icons at a native resolution like 64x64 than at something like 48x48, so it would make sense that it'd be the same for other UI elements like windows and buttons.

Any idea why Apple doesn't offer a scaling slider like the one in your link by default in OS X? Is it just for the sake of simplicity?
 
Any idea why Apple doesn't offer a scaling slider like the one in your link by default in OS X? Is it just for the sake of simplicity?

I think only Apple can answer that. But my personal guess would be that they tried a couple of options and found out that you must use supersampling to achieve good-looking resolution independence (that is, render everything at a resolution equal or higher then the actual resolution of the screen and downsample afterwards). The fixed 2x2 supersampling scaling factor is then a logical optimisation choice. The scaling slider is now actually implicit, for instance, if we were to set 1440x900 to 1.0, then 1680x1050 is approx 0.85 magnification and 1920x1200 is 0.75 (full 2880x1800 would be 0.5 magnification). I suspect that the OS is actually able to display the full range of virtual resolutions in between (using proper supersampling), but they are simply hidden from the user.
 
Try using the terminal commands from this article:

http://hints.macworld.com/article.php?story=20060119152725322

I am not sure if it will still work though, Apple is likely to scrapped flexible scale factors after Snow Leopard or so.

----------



I don't think there is any performance win like you say at all. Texture filtering (aka scaling) is very cheap on modern hardware, arbitrary UI rendering (text etc.) is not. And by rendering to a bigger buffer OS X actually has to do text rendering at higher resolutions.

The main reason is actually to improve the quality of the final image. What Apple does here is essentially supersampling anti-aliazing. This allows to keep the quality of the final image comparable to a native 1680x1050, 1980x1200 etc. screen.

Could someone try if that slider/terminal code would work? I'd love to know! I think it would be cool.
 
Could someone try if that slider/terminal code would work? I'd love to know! I think it would be cool.

Sadly it does not work. The link is from '06 and the current version of the Quarts Debug tools does not have the User Interface Resolution slider. The command line options were depricated in the transition from Snow Leopard to Lion.

Thanks for the other replies. What I really want is the 2X user interface elements in 2880x1800. I like runing in the native resolution for the really big desktop space. I also like that it is not doing the extra overhead of the supersampling. Everything I'm running with it works fine, and I'm generally very happy - but it seems like if the 2x UI elements are there it would be great to be able to use them.
 
I fail to see how this is any different from "Retina" mode... Retina mode IS 2880x1800 with HiDPI elements.

Not for apps that currently don't support it. Those apps still think its running at a non-retina scaled resolution.

And OP, you arent going to get it to work. For general UI that isn't custom made, those elements are just vectors already. There isn't a second set of UI elements.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.