Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> This means that on a Mac, you’ll have to use it one of two ways: Either at 1x, ... or at 2x

Huh. Are you maybe thinking of iOS, or have you confirmed this with a high-PPI external monitor on a Mac? Because it's not true of the built-in screen for retina MBPs. I typically use the 1.5x resolution (1920x1200) or 12/7x resolution (1680x1050), which are both supported by the built-in system prefs, and both look perfectly sharp as far as I can tell. Other resolutions are available via 3rd-party hacks and seem to work fine.

The sharpness is supposedly because things are rendered at double resolution and then scaled down, which required some clever GPU work; whatever it is, it works for me. I'm prepared to believe that things don't work as well for third-party external monitors, though. Or maybe we're not ready yet to handle 60% more pixels, when the rMBP is already pushing performance limits?



I think mortenjorck is talking about HiDPI mode, which doesn't provide as many options as retina mode: http://apple.stackexchange.com/questions/107846/how-to-enabl...


Ah hah! I actually think that HiDPI mode and retina mode are the same thing, but the issue you're getting at is that OS X doesn't yet have drivers for external 4K monitors that support HiDPI mode.[1]

Here's what's going on: on a retina MBP, the screen basically always runs in HiDPI mode. That means everything is rendered twice as large as it should be, for a screen twice as large as the virtual resolution you want, and then scaled down to native resolution. Icons that would be 32px are 64px, fonts that would be 12pt are 24pt, etc., and then they're shrunk down to their proper size.

This is really cool because it lets us run at _any_ resolution between 1x and 2x with minimal loss of quality, even though apps are only coded to run at one of the two extremes.

So, say I have a 2880x1800px screen on my rMBP, but I want a virtual extra-sharp 1920x1200px screen. I render the screen twice the size I want it (3840x2400) in HiDPI mode where everything is twice as large as it should be, and then I scale it _down_ in the graphics card to my native resolution of 2880x1800. This technique allows me to pick _any_ resolution between 1x (2880x1800) and 2x (1440x900) and have it look pretty good, because I'm only scaling down to my native resolution rather than up. Some stops along the way are nicer than others, and 1440x900 looks the best because it requires no scaling at all, but I have lots of options along the way that look good.

The first thing you need for this to work is, obviously, for your apps to know how to render at 1x or 2x. 95% of Mac apps seem to be there by now. (The ones that aren't fixed still work fine -- they just look obviously low-resolution because they've been scaled up and back down.)

Then you need your graphics card to be capable of rendering a screen with twice the virtual resolution you want, and scaling it down to your native resolution in realtime. That's a serious amount of processing, and apparently it's not supported so well yet for external 4K monitors. But importantly, it's something that only has to be solved at the driver level -- the OS and apps are already there.

[1] See http://www.anandtech.com/show/7603/mac-pro-review-late-2013/... and search for "HiDPI."


Yep. It would be great if Apple added full Retina scaling support to the next version of OS X, but I'd imagine the hardware might start to creak scaling 5120 x 2880 to 3850 x 2160.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: