Copy link to clipboard
Copied
Hey
I've been digging around trying to find out, if I opt for retina display, what happens on older 3GS iPhones?
Reason I ask is that I'm working with as many bitmaps as possible to keep it running fast, so do I need to make 2 versions, just wondered if anyone had tried this?
Cheers
Mark
Copy link to clipboard
Copied
Hi Mark,
If you opt for retina display, it will not take any effect on older 3GS devices, it will fall back to non-retina display.
Thanks,
Sanika
Copy link to clipboard
Copied
OK Thanks for that.
What about my bitmap assets though? Will I not be overloading an older iPhone by making it process down the image size?
It's always been my understanding that bitmaps operate faster than vectors on iPhone's - that dictated my reason for using them. In iOS you can specify to use assets from one folder or another based on screen resolution. Seems like there might be a huge number of 'if' statements in a game that checked the screen res and served the right graphics - anyone solved this or know of an easy way to solve?
Mark
Copy link to clipboard
Copied
If you're talking about using either AIR 2.6, or 2.7 when it comes out, you won't be making it for older devices. The oldest one with be the 3GS, and it does ok with coping with resizing graphics.
So, just have the Retina sized ones, and let the 3GS and older iPad Touch scale the images down. They won't look as nice as if they were the correct size, but they look good enough that you probably shouldn't worry too much about having dedicated bitmaps for the 3GS.
Another approach you can take is to use vectors for everything. Those will draw at the size for the screen they are on, and you can still cache them as bitmaps if it gives you better performance. The downside is that it takes a moment for the caching to happen, but you do gain by having a much smaller app file.
Copy link to clipboard
Copied
Thank you very useful information, Colin.
I know about Cache as Bitmap, as I've been doing it for years on the web, I still thought bitmaps had an overall better performance though. Glad to have that cleared up.
Copy link to clipboard
Copied
It depends. If you want things to fly around using GPU memory, then they have to be bitmap, and will take either just cacheasbitmap or cacheasbitmap and cacheasbitmapmatrix to be set correctly. If you're just drawing things on stage, and the image gets to the video in the regular way, then the trade-offs are like they always have been. That is, vectors will load quicker and look better at all sizes, but the CPU demand for drawing them is higher.
Copy link to clipboard
Copied
Seems like there might be a huge number of 'if' statements in a game that checked the screen res and served the right graphics - anyone solved this or know of an easy way to solve?
I think the general solution to this problem is to create a resource manager. The places in your game that need to load a bitmap would go to this resource manager instead of loading them directly. Only the resource manager would need to know the difference between high and low res bitmaps.