Art Compression problems

JamesWEJamesWE Member Posts: 19
edited December 2012 in Working with GS (Mac)
Hi guys,

I'm testing some backgrounds for my game and I am getting some gnarly compression issues when I test on
a device (iPhone4s). Without any settings being adjusted, once the art is on my device it is compressed in all
the bad ways and I get horrible banding (especially around gradients)

example - top image is how it looks in ps, bottom image is a screen grab from the device:
image


Obviously I want the art to be crisp as possible to make the most of the retina devices it will be on, but for the life
of me I can not figure out why this is happening.
Knowing me, its probably staring me in the face, so please bare with me on this one!

Any idea what the solution is??

Cheers :)

EDIT - you might need to click on the image to download a bigger res version, the banding is more apparent on the bigger image ;)

Comments

  • SocksSocks London, UK.Member Posts: 12,822
    edited December 2012
    Lovely images :)

    Solution: open your image in Photoshop, make sure it's a layer (so it supports / allows transparency) - using the marquee tool select a single pixel in one of the far corners - or anywhere people aren't going to notice - select the eraser tool - set it on 5% (just hit zero then 5 on your keyboard) and erase the contents of the pixel (or rather 5% of its opacity).

    Save the file - re-import into GameSalad - replace the previous version - re-upload to your device viewer . . . . . result: perfectly smooth gradients.
  • JamesWEJamesWE Member Posts: 19
    What the?? Amazing, gradients are perfect :)

    So what is it that makes this happen? does GS need to detect an alpha or something to allow for smooth gradients?

    Well, whatever it is - thank you for your help Socks! :)
  • SocksSocks London, UK.Member Posts: 12,822
    edited December 2012
    So what is it that makes this happen?
    Your 24 bit image has its word length converted to 8 bit during it's move to the device viewer**, normally you wouldn't notice this but with gradients - especially gradients with such little dynamic range - it's all too obvious.

    Making even a single pixel just a little bit transparent forces GS to treat the image as 32 bit - to support transparency / alpha channel information - and where there's an 8 bit alpha you're sure to find 24 bits of image goodness***.

    (**this is seen as a bug rather than a feature)
    (***well, technically, you can have an 8 bit image with an alpha channel, but not normally)
  • JamesWEJamesWE Member Posts: 19
    Ahhhhh, I see - no wonder I couldn't find any official info on the issue, its a bug!

    Well thanks again Socks, I really appreciate the wisdom :)

Sign In or Register to comment.