MaxIDE retina support for new MacBook Pro

BlitzMax Forums/BlitzMax Programming/MaxIDE retina support for new MacBook Pro

Sonic(Posted 2012) [#1]
As per the thread title, I was wondering how trivial it would be for Mark to update MaxIDE with Retina support? It would be lovely to be able to code in 2880x1800 resolution on my new machine! :). I haven't yet received the computer, but I take it it will appear like 1440x900 unless it's specifically updated?

I'm working on a large commercial venture in it which could take several years, and it would really improve my coding environment to have at least this feature added.

On a somewhat-related tangent, I know BMax support is on the low side at the moment, but I still wish MaxIDE had had some more updates over the years, such as code completion - I'd love the features of BLIde, but I really don't want to work on two platforms...


GfK(Posted 2012) [#2]
Um, just drag the window bigger?


Sonic(Posted 2012) [#3]
As far as I understand it, the OS will take any apps that haven't specifically got code in there to detect a retina display and scale up all assets including fonts, so 1 pixel will occupy a 2x2 pixel grid. Some applications' text rendering work 'out of the box' if they're coded with Apple's native OS font rendering, but others will be scaled and look (n theory) the same as 1440x.

So it might that it just works - either way, I'll report back in a day or two when the machine arrives!


SystemError51(Posted 2012) [#4]
Um, just drag the window bigger?


MaxIDE will have to be recompiled to take advantage of the new Retina Display APIs. Simply enlarging the window will not help. As mentioned, non-retina applications will be upscaled so they will look pixelated on the screen.

Unless someone implements the new APIs, MaxIDE won't look good on the new display.


ima747(Posted 2012) [#5]
I can confirm it's ugly on retina but not eye bleedingly so. You could switch out of retina mode into a standard resolution if your eyes are good enough to take advantage of the extra screen space. In theory it should be fairly easy to add support to it as it's all OS standard components and very few graphics. The biggest problem with getting it working I suspect would be compiling the IDE under a new version of XCode that includes the retina API, which I'm pretty sure with require LLVM. This shouldn't be too hard by my understanding, and needs to happen some time anyway if people want to continue to submit bmax apps to the app store since the change will be required to use sandboxing as well. But this requires monkeying around with BMK.


andy_mc(Posted 2012) [#6]
I'm confused by the whole retina display thing. Didn't macs already have multiple resolutions? So isn't this just another resolution? Why do they need new display API's???


SystemError51(Posted 2012) [#7]
The reason why new API's are required is because the display has an insanely high resolution, in 15 inch space. OS X itself is recompiled to take advantage of the display. "Normal" OS X windows would look great - but very small.


Captain Wicker (crazy hillbilly)(Posted 2012) [#8]
I wouldn't waste my time with one of those 'retina' things for several reasons. One major reason is that there is no dvd drive.


shinkiro1(Posted 2012) [#9]
That's a good point, Captain Wicker. But somebody has to start to kick out old technology, else we would have floppy drives in our modern computers (no offense against floppy drive users ^^)


I'm working on a large commercial venture in it which could take several years, and it would really improve my coding environment to have at least this feature added.

Then you shouldn't use MaxIDE anyway. It's a simple way to start out and for that it's great, but you will be happy using the community edition or an editor like TextMate. I would recommend TM.

Does this then affect all maxgui apps? Because then it's really an issue.


Captain Wicker (crazy hillbilly)(Posted 2012) [#10]
we would have floppy drives in our modern computers

lol, My old man still got three or four of them around with old Office 95/97 docs on em! :D
somebody has to start to kick out old technology

Blu-ray? Wonder how much his internet bill will be when he wants to install software. (HughesNet is going to pitch a nice long fit over this`en with their $80/month 250MB limitations) ;)


SystemError51(Posted 2012) [#11]
I wouldn't waste my time with one of those 'retina' things for several reasons. One major reason is that there is no dvd drive.


I can kind of understand what you're saying. But also... we're moving toward an increasingly digital society. I myself only use USB sticks for OS installations, all my data is either in the cloud or on my machines at home. So for me, I don't really need a disc drive anymore. Apple makes the right decision by ditching that from the MacBook Pro line.


Does this then affect all maxgui apps? Because then it's really an issue.


It pretty much affects all apps that are not optimized for Retina yet.


ima747(Posted 2012) [#12]
To clarify a few things.

Retina devices essentially have double the pixels in the same space. It isn't a new resolution (though you can use it as such if you prefer but then things are tiiiiiiny), it is a new pixel density. E.g. All iPads are 1024x768 however the retina iPad has 2048x1536 actual pixels. With retina support screens are measured in points, not pixels, making rendering of content independent from the physical device by letting the hardware take care of it. If you are at a 1x pixel density then 1 point is 1 pixel, but retina is 2x. In the future they could make 4x to silence then wingers that claim they can still see the pixels (hold it normal distance as instruceted, if you can see the pixels you're too close..., that's kinda the point).

Native cocoa elements are handled by the os and as such are generally rendered at 2x automatically. Art assets and anything else manually rendered will need to be up scaled. Carbon and related depreciated Apis are not supported. One of the companion programs for the new beta xcodes includes the ability to simulate retina on a normal screen by halving the resolution to create a 2x pixel density to test with, if you're curious how your app looks and don't have access to a retina pro then give it a shot.

Regarding the death of the DVD drive, it's called the future, you'll find your self there sooner or later. That isn't to say that the DVD drive is already dead, but in all honesty how often does the average or even pro user use their optical drive these days? I for one have used an optical drive 4 times in the last year, twice to burn large files for friends because they forgot to bring USB drives, and twice to install windows... I'll gladly take the weight and power savings, and the. Just network a drive off another computer (Mac or pc) or just plug in an external on those hyper rare occasions. Of all my work associates and family I have used an optical drive more than everyone else combined in the last year. Granted I don't buy any physical media oth than console games, and I'm tech savvy, etc. etc. but still, in the real world, for normal users, the writing is on the wall, just as it was for serial, scsi and printer ports when USB came a long. It takes time to transition but in 3 years how many pcs will ship with a cd drive.

And before someone says I think apple just gets there first it took them for freaking ever to finally get around to USB 3 and it was entirely for selfish reasons on their end trying to push thunderbolt. Both are good, both are different and I'm glad they came to their senses before 3 became the market leading standard, that woulda sucked...

For a micro review of the new MacBook pro retina if anyone cares. It's an absolute beast. It's a truly portable Mac pro. The option for extra resolution gives tons more work space than a normal pro, the weight savings and added battery life make a huge difference if you move around with it (not just an easily luggable desktop like most heavy duty laptops). It's definitely not an air, but quad i7 and a very decent graphics set makes the extra weight worth it. I'm not a huge fan of retina displays in general, I'm good enough with standard resolution, but if you work with graphics a lot then it would make all the difference in the world. Plugging it into 3 screens + it's own for an instant 4 head setup is more fun than it should be. Yea it's stupid expensive, and yea since its device #1 for desktop os retina tons of apps look ugly now. And it really needs to run mountain lion, putting lion on it is just an insult to the hardware, but clearly ml got delayed and they had to ship so that's what they did. If you can afford it, it really is worth the money, but affording it is a biiiig ask. Fwiw then only spec that really makes sense is the base model + the ram upgrade. Since the ram is fixed, you only get one shot and it's not expensive by apple standards, almost down to 3rd party prices and it's high spec high grade ram so suck it up. All other upgrades and the higher spec just don't make sense price to performance unless it's someone else's credit card :0)

Sory to hijack the thread, but it seemed like the verge of missinformation and incorrect assumptions so thought I would try to head it off...


Sonic(Posted 2012) [#13]
I got it today and I love it. I never use my ODD anyway and have unlimited bandwidth, as well as having the Mac Pro for wireless ODD if I need it, so it works well for me. Apple always lead with the 'removal of standards' - it's frustrating sometimes (FW400 is more of a loss for me due to my sound card. Ethernet is fine as TB->ethernet is fine.) The screen really is a step forward. MaxIDE looks as expected, although the low res is more pronounced because of the contrast and probably due to the fact that there are 4 pixels representing 1, and the actual pattern of the LCD panel must contribute to this (less bleed between pixels making the enlargement appear sharper maybe?)

Unfortunately I can't get my game to work, I have that weird bug where multi-dimensional arrays don't work, and can't seem to solve it. Tried Xcode 4.2.1 and 4.3.3, everything builds fine but MD-arrays hold null at runtime.

Hopefully once I've solved it, this'll be a great workhorse for a number of years...

@shinkiro1

I'm actually fine with MaxIDE feature-wise, the lack of code completion is only a WIBNIF feature for me anyway. I've just released a 4-year game where the tools were written in BMax (although the engine was in Flash + Air), so I find it pretty good for large-scale projects, despite its simplicity.


skidracer(Posted 2012) [#14]
From my reading of the docs MaxIDE should run in high resolution not magnified mode without any changes required to MaxGUI.

Sonic, if you have a chance can you please check to see if Open in Low Resolution is ticked in the app info.

Standard AppKit views (text views, buttons, table views, and so on) automatically render correctly at any resolution.


https://developer.apple.com/library/mac/#documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Explained/Explained.html#//apple_ref/doc/uid/TP40012302-CH4-SW1

Last edited 2012


SystemError51(Posted 2012) [#15]
From my reading of the docs MaxIDE should run in high resolution not magnified mode without any changes required to MaxGUI.


Well... yes, but on 2880x1800, that will be very very tiny


Sonic(Posted 2012) [#16]
Hi Skid,

Open in low resolution is checked, but it's also greyed out so I can't uncheck it. The code is lores, the menus are hires (I think this is the case for all apps running on rMBP), and the file requesters are lores.

I'd love to see it in native res, even if the icons were tiny as I don't use them anyway (I tried 1920x with larger text and it looked pretty lovely, the only reasons I didn't stick with it is that I prefer the native res for general use and would prefer not to switch between them.)

Cheers,

Jasper


JoshK(Posted 2012) [#17]
But also... we're moving toward an increasingly digital society.

Guess I better throw out all my old analog DVDs then. :P


DrDeath(Posted 2012) [#18]
I might have a found a nifty little trick to get the MaxIDE to run in Retina resolution.

Dig into the program package (right click the icon, "Show Package Contents"), open the "Contents" folder, open the info.plist file with your favourite text editor, and add the following lines before the "</dict>" line at the end of the file:
	<key>NSHighResolutionCapable</key>
	<string>true</string>

Now log off and log on again, or restart your Mac. Launch the IDE, marvel at the Retina resolution.

A screenshot as proof (careful, giant picture): the retinized MaxIDE on the left, the low-res TextWrangler on the right.

Disclaimer: I haven't tested everything in the IDE, so I can't assure that there aren't any problems at all. So, use at own discretion.

Last edited 2012


dmaz(Posted 2012) [#19]
I might have a found a nifty little trick to get the MaxIDE to run in Retina resolution.
sweet!


Sonic(Posted 2013) [#20]
Hi DrDeath,

I was really happy to hear about your hack, but unfortunately I doesn't seem to have worked for me... I wonder what I could be doing wrong?

The plist has the entry as follows:



In 'Get Info...', the 'Open In High Resolution' box is still greyed out.

Edit:

I found out what was wrong... here is what I needed to get it to work:


Part 2: Forcing OSX to rebuild the cache for PList.info

Make a copy of the application on the desktop ("Option"+"Click and drag and drop on desktop")
Move the copy that's still in the Application folder to the trash.
Now move the desktop copy back to Applications.

You may have to re-enter your registration code after completing this procedure.



Last edited 2013