How to use retina displays. A little overview and performance report.

edited August 2014 in Share Your Work

Hi all,

I saw there were a couple of questions in the old forum, and thought some might be interested in my tests with a MacBook Pro Retina.

I am using latest Processing 2.1, and tested it in Eclipse! (Note, that results for Processing IDE are different, see below)

Best resolution

For the first run, I used a resolution fitting on the standard resolution (i.e. the "best" retina display with 1440x900px)

// default: Java2D, low fps, ok quality
size(1400, 800);

// Retina2D, high fps, highest quality
size(1400, 800, "processing.core.PGraphicsRetina2D");

// P2D (OpenGL), high fps, lowest quality
size(1400, 800, P2D);

// OpenGL, high fps, lowest quality
size(1400, 800, OPENGL);

More space

If you want to use a larger canvas (e.g. full HD with 1920x1080px), switching to highest resolution available in Mac OS ("More Space" with 1920x1200) lowers for Retina2D, as it still is scaled.

// default: Java2D, low fps, ok quality
size(1920, 1080);

// Retina2D, low fps, highest quality
size(1920, 1080, "processing.core.PGraphicsRetina2D");

// P2D (OpenGL), high fps, low quality
size(1920, 1080, P2D);

// OpenGL, high fps, low quality
size(1920, 1080, OPENGL);

Native

If you don't want to use retina display, you must install the free version of QuickRes, and switch to native resolution 2880x1800 (not available via System Preferences > Display). Now, the test results are

// default: Java2D, high fps, high quality
size(1920, 1080);

// Retina2D, high fps, lowest quality
size(1920, 1080, "processing.core.PGraphicsRetina2D");

// P2D (OpenGL), high fps, low quality
size(1920, 1080, P2D);

// OpenGL, high fps, low quality
size(1920, 1080, OPENGL);

Summary

So, if you want to render your app in full HD and need high frame rates, use the last method (Java2D for high quality, or OpenGL for, well, GL apps). If you want to have retina apps and don't need full HD use PGraphicsRetina2D.

However, in the Processing IDE things seem to be differently. Mostly, the quality with PGraphicsRetina2D is lower (even with hint(ENABLE_RETINA_PIXELS) on). Any ideas why?

Comments

  • Any updates in knowledge of retina display handling? It does't appear that there is a clear definition of rendering issues with retina.

  • Nothing new from my side. But interested in further reports or such, too.

Sign In or Register to comment.