Best approach to supporting multiple software and hardware versions

If I want to make sure that my graphics are drawn consistently across multiple versions of iOS and of the iPhone/iPad hardware, what is the best approach? Should I enable retina display? Should I always use the OF_FULLSCREEN setting? Where should I set my deployment cutoff - at iOS 5? 4.3? Is there a way I can reliably always get the screen size and resolution of the current device to make this adjustment? At present, I’m using ofGetScreenHeight and ofGetScreenWidth to make my adjustments, and I have retina support enabled. I’m testing on a 4th generation iPod Touch with iOS 6.


I think it’s reasonable to try to achieve portability not within iOS, but across all the iOS formats and various Android formats at least. That’s because in oF we have a decent set of libraries already supporting a lot of fully portable app scenarios.

Therefore I’ve started with introducing density independent pixel concept in rendering (in some certain places of course), which really makes sense for some scenarios, cause this way I’ll deal with real-world values (like inches) in rendering, not virtual things. Imo, implementing this can help support not only past generations of hardware, but probably a maybe a couple of generations to come.

Android can give you such information about the current screen it works with via a DisplayMetrics object. I’ve tried to find something similar on iOS, but it seems to be a bit harder than expected. Anyway, there’s not that much devices on iOS, so it’s fairly reasonable to fill in already known DPI values.

Speaking of deployment cutoff, I think it’s more of a per-App decision you should make, cause older than 5.1 often means really dated and therefore slow.

Thanks, yeswecan. Does OF currently support density independent pixels? And in any case, will it be enough if I have a setting of OF_FULLSCREEN, use ofGetScreenHeight and ofGetScreenWidth to make my adjustments, and I have retina support enabled? I mean, enough to cover the various hardware generations that will be used for 5.1 and above?