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

vantt1

macrumors member
Original poster
Aug 8, 2014
68
2
So I have a 15" rMBP (running Yosemite 10.10), and the way Apple/OS X handles Retina scaling has been bugging me recently. The setting that "looks like 1440 x 900" is supposedly the "best" setting for Retina, which makes the display's density look like 1440 x 900 but rendered at 2880 x 1800. But as soon as it is stepped up to what "looks like 1680 x 1050", OS X actually renders 3360 x 2100, then scales it down to the 2880 x 1800 hardware (similarly with 1920 x 1200 at 3840 x 2400). This seems a bit wasteful, and would take a toll on battery life.

So what if I prefer the look/display density of 1680 x 1050 but don't want the performance hit of rendering 3360 x 2100 on a 2880 x 1800 panel? Is there a way to do this?
 
So I have a 15" rMBP (running Yosemite 10.10), and the way Apple/OS X handles Retina scaling has been bugging me recently. The setting that "looks like 1440 x 900" is supposedly the "best" setting for Retina, which makes the display's density look like 1440 x 900 but rendered at 2880 x 1800. But as soon as it is stepped up to what "looks like 1680 x 1050", OS X actually renders 3360 x 2100, then scales it down to the 2880 x 1800 hardware (similarly with 1920 x 1200 at 3840 x 2400). This seems a bit wasteful, and would take a toll on battery life.

So what if I prefer the look/display density of 1680 x 1050 but don't want the performance hit of rendering 3360 x 2100 on a 2880 x 1800 panel? Is there a way to do this?
No.

Pixel density is a hardware limitation, not software. You cannot change the hardware.
 
No.

Pixel density is a hardware limitation, not software. You cannot change the hardware.

OK, I reworded the title.

I don't physically want more pixels per inch (which is impossible obviously), I would like OS X (read: software) to display on-screen items smaller as if it did have a higher density, but of course at the display's physical native resolution of 2880 x 1800.
 
You want OS X to use a resolution of 2880x1800 but display everything as if the resolution is 1680x1050? That's what I understood from your wording.

Seems doable if you use something like SwitchResX to display at 2880x1800 and increase the size of icons and texts somehow.
 
That is what it is doing

OK, I reworded the title.

I don't physically want more pixels per inch (which is impossible obviously), I would like OS X (read: software) to display on-screen items smaller as if it did have a higher density, but of course at the display's physical native resolution of 2880 x 1800.

That is what it does already. The performance hit is minimal and the display is still razer sharp. There are many 3rd party apps to give you more options for your display.

http://download.cnet.com/SwitchResX/3000-2094_4-10558576.html

You can either Run it in native resolution..... Good luck with everything that small.

Or you can run it scaled.

There are no other choices...
 
OK, I reworded the title.

I don't physically want more pixels per inch (which is impossible obviously), I would like OS X (read: software) to display on-screen items smaller as if it did have a higher density, but of course at the display's physical native resolution of 2880 x 1800.

I don't really get what you want exactly. To treat the display as if it were native 1680x1050? You can do it by hacking the OS via a tool such as SwitchResX. Of course the resulting quality will be significantly inferior to the scaled retina rendering.
 
You want OS X to use a resolution of 2880x1800 but display everything as if the resolution is 1680x1050? That's what I understood from your wording.

Seems doable if you use something like SwitchResX to display at 2880x1800 and increase the size of icons and texts somehow.
Yes, that is close. But instead of increasing the size of icons and text, I would like to decrease it so more can fit on the screen at the same resolution.

That is what it does already. The performance hit is minimal and the display is still razer sharp. There are many 3rd party apps to give you more options for your display.

http://download.cnet.com/SwitchResX/3000-2094_4-10558576.html

You can either Run it in native resolution..... Good luck with everything that small.

Or you can run it scaled.

There are no other choices...
Native resolution (or what "looks like 2880 x 1800" so everything is that small) would mean the GPU has to render 5760 x 3600. I can't imagine how laggy that would be...

He explained exactly how it is and how he wants it.

If you run default settings (looks like 1440x900), the display is rendered at 2880x1800, and then displayed on the panel at 2880x1800. If you run scaled (looks like 1680x1050), then the display is rendered in memory at 3360x1100. Then it's displayed on the panel at 2880x1800, but it's not clear to me if it is scaled by display hardware separate from the GPU, or if it is scaled in software by the GPU. What he would like is for the display to rendered at 2880x1800 rather than 3360x1100, because it SEEMS like this would improve performance (it would at least use less memory). I'm not sure that it would improve performance though, because

1) all the routines for retina just double the pixels; other routines might not exist and would have to be added
2) if a display hardware scaler is handling the rendering of 3360x1100 to 2880x1800, then it's not an extra step for the GPU, and the GPU still only has one step

It's a similar scheme as to how the iPhone 6 Plus works. The screen is rendered at 2208x1242 in memory (so that the "points" calculations come out with a whole number multiplier), but that is then downsampled to 1920x1080. It seemed to cause issues at the release of the iPhone 6 Plus, but has been smoothed out by updates to iOS (which actually probably took away fps so it was slower but didn't noticeably stutter). So even though there are probably performance issues with this method, Apple chose it for other reasons.

Since the whole process is probably buried pretty deep in the OS it's unlikely it can be changed... the multipliers for retina screens probably have to be whole numbers (or possibly only "2").
The system preferences window says "Using a scaled resolution may affect performance", and I have noticed that it does lag a bit in some full-screen apps like when scrolling in Maps, or sometimes even Safari if I choose the highest scaling option.

Screenshots are captured at the display's rendered resolution, and when all three are opened, you can see it really is rendering at that resolution. Relative to the native Retina resolution of 2880 x 1800 (~5.18 MP), 3360 x 2100 is rendering 36% more pixels (~7.06 MP) and 3840 x 2400 is rendering 78% more (~9.22 MP).

By the looks of it, there's no way to change the way OS X handles Retina resolutions.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.