MacBook – Why is a Retina MacBook running 1440×900 grainy under Boot Camp

bootcampmacbook pro

I have a MacBook Retina running Windows 8 RP, with the driver that comes with Boot Camp.

I understand why running in a none native resolution like 1920×1200 is grainy. But 1440×900 is exactly half resolution of the native 2880×1800 resolution, meaning that there are 4 pixels to paint 1 pixels (aka pixel doubling), and thus should look great.

When running 1280×720 on my 27" Cinema Display (exactly half of 1560×1440) the picture is sharp and crisp, so why is this a problem on the Retina display?

PS: Running 150 DPI is not an option. Windows is really ugly when changing DPI and many applications have UI problems. Many Apps like Chrome and Skype does not support DPI but windows scales them so the look grainy. But worst of all, attaching an external screen forces this to run in 150DPI as well (turning my 27" into an 18"), and some programs like Remote Desktop are note scaled at all, so every thing is very small.

Best Answer

This is because of how Retina is implemented on these new systems. In the Mac OS (and iOS for that matter), resources are doubled in size, therefore each point is roughly the 4 pixels.

To the system though, it still reports the 1440x900 size, even though the actual pixel count is 2880x1800. The Mac OS knows how to handle this looking for @2X resources or using native code to render things at a higher resolution offscreen before painting to the screen.

While on Windows though, it is outright seeing the 1440x900. Since Windows doesn't really have a built in way to handle the 'Retina' feature that the Mac does, things would be grainy. You would see the same problem on a Mac App that doesn't use native text or image rendering, that hasn't been updated yet.

So the only way to make it look crisp on your Windows install would be to run at 2880x1800 - which would be hard to see, or a higher resolution than 1440x900 that you felt comfortable with depending on stretching/artifacts/etc. That is until Windows does have some possible feature like this and implemented in a similar way.

When connected to your external display though, Windows is seeing the 1280x720 px, and rendering that correctly, but at whatever your native resolution is. Also, the pixel density on the larger display may be different.

It comes down to the easiest way to understand - the pixel doubling/retina features are an OS feature, not a hardware feature.