Search code examples
macoscocoaretina-display

What happens when you connect non-retina display to MBP with retina?


AFAIK Mac OSX has unified screen space. So it's unclear to me what happens when you have multiple displays with different backing scale factor. Will retina display go into low-res mode (so -[NSScreen backingScaleFactor] returns the lowest value among all attached displays)? If no, how an app will be rendered if it's placed so part of it appears on display with retina and another part appears on display without retina?


Solution

  • I'm working with some HiDPI issues at the moment, and I have my not retina MBP and thunder display with turned on HiDPI mode on it.

    On connected display, it has 2.0 backing scale factor, and when I drag the window to MBP display (which has usual DPI), next is happening:

    When the major part of window is on HiDPI, it renders all the window with backing scale factor 2.0.

    When the major part moves to non HiDPI display, it rerenders all graphics with backing scale factor equal 1.0, and shows new rendered window on both displays.

    Hope it will help you)

    EDIT: screenshots added.

    Screenshots near the displays border (Usual on the Left, Retina on the Right):

    backingScalefactor 1.0: https://dl.dropbox.com/u/51547223/Backing1.0.png enter image description here

    backingScalefactor 2.0: https://dl.dropbox.com/u/51547223/Backing2.0.png enter image description here