IOS Retina On/Off


Anybody know how i can force my app to not use retina assets, in xcode or in xml project ?

I detect the resolution of device in my app and select 1x / 1.5x or 2x (2x its for retina).
But i want force my app to show in low resolution.
I search a solution with NSHighResolutionCapable -> true but it doesn’t work.

In Air there are this option requestedDisplayResolution>high

Thank’s you

I’m not sure, currently it tries to use the device resolution, I’m not sure if there’s a PLIST setting that says you want to force a lower resolution?

My app work fine on a Ipad 1 with a lot of work for dispose my bitmapData and all memory usage.
My memory up to 100Mo (I use a lot of asset). Ipad 1 use assets 1x (1024x768).
But when i launch my app on ipad 3,4, it use assets 2x (retina) and up to 200Mo in memory. I have a lot of “Low memory warning” and after few second app crash.

I don’t know what i can do for this :confused:
Any suggestions ? I’m really desperate

Can’t you use the same assets, and just set a scale on the stage?

I think that will be my last solution :stuck_out_tongue: :wink:

I have your solution… scale the whole assets :stuck_out_tongue:

But after research and test, it seem my problem came from to much draw function on my multiples assets.
I draw my bitmaps with a matrix scaled if my scalefactor wasn’t 1.
I receive less much “Low memory warning” since i use copypixel if my scalefactor is 1 ( so my device is 1024/768 for 1x,1536/1152 for 1.5x and 2048/1536 for 2x).

Ipad devides have always a scalefactor of 1 but not Android (multiple resolution).
With Android it seems there are no problem with multiple draw but on Ipad there are…

I dont’t know if you understand perfectly ^^

Makes sense

Apple tends to be much more memory-limited than other platforms, in my experience, and to over-emphasize the screen resolution in proportion.

If you don’t already, just remember to keep your images uncached (use false in Assets.getBitmapData) if you are going to draw them to a new size anyway. However, you should be able to use the original size and just set scaleX and scaleY of the target display object for the same effect, without inflating the memory :slight_smile:

The probleme with the memory come essentialy with the Ipad Mini. I tested my app on Ipad 3 and i have one or two memory warning. Not bad.

But i have a question about Assets.cache.clear. There is a suffix in parameter, but what it is ? url of the asset or something else ?

ps: sorry for the delay … :s

The Assets accepts IDs for various assets, by default this is the asset target path, but you can use “id” in your XML to set special IDs per file, and if you are using libraries (like SWF) you may end up with a library prefix, like “myswf:Mysymbol”

The clear command accepts any ID string prefix – any cached assets with an ID that starts with your string will be cleared, so you could clear all of a directory (“assets/level1”) or a library (“myswf:”) or just an individual file :slight_smile:

1 Like