We are just finishing a mobile game for Android and iOS.

The image quality on iOS is subpar, and we are trying to understand why.

We are currently having two problems: the background, which is a gradient, is shown using few colors and the grandient's steps are very visible, and the fonts are pixelated.

I think both issues are clearly visible in this screenshot from the simulator (zoom in if needed):

Screenshot of main menu of our game

The simulator is running an iPhone Xs with Graphics Quality Override set to High Quality.

I have disabled “Compressing PNG files”, but the result is the same. This issue is not always so visible, or, at least, not on all devices. On a smaller iPhone (e.g., 7, so 4.7"), there are no noticeable issues with the image quality and the font pixelation is minimal.

We are probably going to disable support for iPad because of this.

Do you have any hints on what we can do?


  • \$\begingroup\$ What image format are you using when uploading these textures to the GPU? \$\endgroup\$ – DMGregory Feb 25 '20 at 17:50
  • \$\begingroup\$ My crystal ball says the video mode for the app ends up being 16-bits-per-pixel. Does your game use OpenGL? If it does, you can use SDL_GL_SetAttribute to request 24/32 bpp. \$\endgroup\$ – HolyBlackCat Feb 25 '20 at 20:22
  • \$\begingroup\$ I used SDL_GL_GetAttribute to request the size of the RGBA channels (SDL_GL_RED_SIZE, etc.) and got 8, 8, 8, 0. \$\endgroup\$ – Alexander Pavlenko Feb 28 '20 at 10:50
  • \$\begingroup\$ If I request sRGB, the alpha is 8 bits size but the background colors are weird, even though the png says it's using GIMP's sRGB Color Profile. \$\endgroup\$ – Alexander Pavlenko Feb 28 '20 at 11:32
  • \$\begingroup\$ We never really figured it out, but ended up painting a gradient with SDL and using an image over it that is mostly transparent. It works, but it's not perfect. \$\endgroup\$ – Alexander Pavlenko Apr 2 '20 at 18:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.