Retina MacBook Pro.... how will Löve be handled?
Posted: Wed Jun 20, 2012 2:31 am
So the new MacBook Pro has a Retina model. Retina is a fancy name for HiDPI. Basically the OS will display things at twice its original resolution. Apps that are updated for Retina will have crisp smooth graphics. While older apps will simply have older resolution graphics stretched up to double the size. This of course is a noticeable difference apparently.
*HiDPI Primer: Basically, the OS draws everything doubled up. So instead of the menubar and titlebar being their original 22 pixel heights, they are now 44 pixels. The display has twice the resolution of a 1440x900 display. So the pixels are really small to the point they are almost imperceptible to the naked eye at normal eye distance. (Without putting your nose up to the screen.)
Obviously at some point I think the OS X version of Löve should take advantage of this. But the real question is how to handle it?
In current games, the games have access to the entire pixel resolution when in fullscreen mode. (fullscreen being a whopping 2880x1800 pixels) But of course, these pixels are TINY if you use 1:1 pixel. So games not optimized for Retina yet, like Portal 2, will have teeny tiny text when displaying anything at 1:1. (Which in Portal 2's case is just console text. The actual game and on-screen text is displayed scaled so it displays fine.) While games that are optimized, like Diablo 3, will simply scale everything smoothly but still draw at the entire resolution for a really crisp looking image.
Note: I have not tested a Retina Pro yet nor have I tested Löve on it. I plan on getting one, possibly, maybe, very soon, possibly, but maybe not, but possibly.
Now, the question is, when using love.graphics.getWidth() in FULLSCREEN, (When you set window width and height to zero) does Löve currently:
A) Return the full width of 2880, or..
B) Return the perceived width of 1440?
How does it handle diaplay when in windowed mode? Does it double the pixels up? Will a game with a size set to 640x480 display at 1280x960 and double its pixels up blurry-like?
When using love.graphics.getModes(), what does it return?
This is an interesting new technology and I can't wait to play with it. If possible, I might try and install Löve 0.8.0 on a display model to see how it works. I was wondering if anyone here on the Mac side of development had put any thought into this yet, or if any of them had one of these machines yet.
*HiDPI Primer: Basically, the OS draws everything doubled up. So instead of the menubar and titlebar being their original 22 pixel heights, they are now 44 pixels. The display has twice the resolution of a 1440x900 display. So the pixels are really small to the point they are almost imperceptible to the naked eye at normal eye distance. (Without putting your nose up to the screen.)
Obviously at some point I think the OS X version of Löve should take advantage of this. But the real question is how to handle it?
In current games, the games have access to the entire pixel resolution when in fullscreen mode. (fullscreen being a whopping 2880x1800 pixels) But of course, these pixels are TINY if you use 1:1 pixel. So games not optimized for Retina yet, like Portal 2, will have teeny tiny text when displaying anything at 1:1. (Which in Portal 2's case is just console text. The actual game and on-screen text is displayed scaled so it displays fine.) While games that are optimized, like Diablo 3, will simply scale everything smoothly but still draw at the entire resolution for a really crisp looking image.
Note: I have not tested a Retina Pro yet nor have I tested Löve on it. I plan on getting one, possibly, maybe, very soon, possibly, but maybe not, but possibly.
Now, the question is, when using love.graphics.getWidth() in FULLSCREEN, (When you set window width and height to zero) does Löve currently:
A) Return the full width of 2880, or..
B) Return the perceived width of 1440?
How does it handle diaplay when in windowed mode? Does it double the pixels up? Will a game with a size set to 640x480 display at 1280x960 and double its pixels up blurry-like?
When using love.graphics.getModes(), what does it return?
This is an interesting new technology and I can't wait to play with it. If possible, I might try and install Löve 0.8.0 on a display model to see how it works. I was wondering if anyone here on the Mac side of development had put any thought into this yet, or if any of them had one of these machines yet.