Since I have been told that Xcode automatically scales down an image to non-retina when I only have the @2x form in my project, it seems unnecessary to create the other image. This made me create my apps without the non-retina images.
But recently I had a discussion about this issue, and was told that the quality of the image (on non-retina devices) won’t be as good if I don’t separately save a non-retina image.
Is this true?
Yes it’s true, the quality won’t be as good, but it’s also not a good idea to just use @2x for a few other reasons.
A simple resize of a retina image might not be the best way to keep the semantics of an image. For example, an icon may look great at the right size in @2x, but when reduced in size, it’s hard to distinguish what the icon is. A such, your regular sized image might be a slightly different icon, that is lower in resolution but easier to determine its meaning.
The image is held in memory when being used. A @2x image is 4x the resolution of a normal image, and as such will take up around x4 the memory. Devices like the iPad 1 and 3GS (that have non-retina displays) have a limited amount of memory, and not much of it spare. As such, the retina images will take up a lot more of the memory available, and your app/device will not perform well.
Similar to point 1, but the resizing done for @2x images to fit correctly on a 1x screen is very naive, and does not perform any sampling to make the image look nice. For example, when shrunk down the image may be very aliased and rough. If you had a regular image file, that is derived from the @2x version, you can perform your own sampling and resolution reduction methods, to make sure it looks the way you want it to be.