In SpriteKit, compressed atlases always use retina sizes

Originator:geenz
Number:rdar://15845316 Date Originated:17-Jan-2014
Status:Open Resolved:No
Product:iOS SDK Product Version:7.0
Classification:Severe Bug Reproducible:Always
 
Summary:
Atlases in SpriteKit when uncompressed (using RGBA8888_PNG) allow for the developer to seamlessly use retina and non-retina assets within the same atlas bundle using the @2x identifier to identify retina textures.  However, changing the output texture format to anything else will result in the retina variants always being preferred over the non-retina variants both in terms of texture loading on the actual device *and* the rect generated there-in.

Steps to Reproduce:
1. Install Xcode 5
2. Download and open the following project "AtTwoX" ( http://cl.ly/3r1V3S2l3M2S )
3. First run the project with the "Output Texture Atlas Format" set to RGBA8888_PNG listed in the project's Build Settings.
3.a Note that the size of the character in the lower left corner is small.
4. Run the project with the "Output Texture Atlas Format" set to RGBA8888_COMPRESSED or literally any other compression format listed in the project's Build Settings.
4.a Note that the character's size has doubled.

Expected Results:
The expected results are that regardless of compression format, elements in the scene should be the size listed for the non-retina variant within the same atlas, much like how UIKit handles retina vs. non-retina assets.

Actual Results:
The actual result is that there is indeed a difference between compressed and uncompressed atlases in that SpriteKit will *always* use the retina variant's proportions, and even the associated sprite as well if the developer selects any compression other than PNG, and only if.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!