iOS: comment réduire la taille des grands fichiers PNG
Je suis en train d'optimiser mon application iOS pour le nouvel iPad. Malheureusement, en ajoutant lancement des images pour l'iPad écran retina de la taille de mon ipa se développe à partir de 1.2 MO de 5,5 MO, principalement en raison de deux images PNG en 1536 x 2008 (portrait) et 2048 x 1496 (paysage). La taille de ces images sont respectivement de 1,9 MO et 1,7 MO.
Le portrait peut être vu ici: http://uploads.demaweb.dk/iPadPortrait.png.
Comme vous pouvez le remarquer, l'arrière-plan est un motif fixe, mais malheureusement il semble que ce n'est pas très compressible. J'ai encore essayé de compresser les images à l'aide de ImageOptim, mais il ne fait aucune différence après Xcode a comprimé les images lors de l'archive. La recherche sur le web, j'ai remarqué que certaines personnes sont dissuasifs pour désactiver la compression PNG dans Xcode.
Sont là rien que je peux faire? Ce n'est pas une solution pour changer le motif dans l'image avec une couleur unie, comme il se doit ressembler à l'arrière-plan dans mon iOS vue. Mais il semble étrange, que le soutien à la le nouvel iPad augmenter la taille de ~4 MO.
OriginalL'auteur dhrm | 2012-03-08
Vous devez vous connecter pour publier un commentaire.
Ive lutté avec cela aussi, malheureusement, pas beaucoup peut être fait.
Source
Je suis entièrement d'accord, maintenant, depuis que le "nouvel iPad" est maintenant d'un écran retina d'imaginer comment les grandes applications obtenez lorsque vous avez besoin de mettre en graphismes HD pour l'iPad. J'espère que apple s'en rend compte et fait les changements.
C'est peut-être pourquoi le over-the-air de téléchargement limite a été augmentée de 20 MO à 50 mo.
Je pense que le "rendu" de la partie est mischaracterisation de la question. GPU ne prend pas en charge les formats comme palette 8 bits, de sorte que la conversion doit être effectuée avant le rendu (le plus probable lors de la PNG est décompressé), et ne peut donc pas affecter rendu de la vitesse. La Conversion à partir de 8 bits/RVB/RGB à ARGB est trivial et probablement fait à la RAM de la vitesse (Go/s). Otoh, que plus le fichier à lire à partir du disque de données et plus pour décompresser peut avoir plus d'impact.
Ici, la référence en montrant que "augmenter considérablement la performance de dessin" n'est pas le cas: cocoanetics.com/2011/10/avoiding-image-decompression-sickness — dessin de la performance est la même pour tous les formats, même en JPEG (et de plus petits fichiers se chargent plus rapidement, quel que soit le format).
OriginalL'auteur atrljoe
J'ai été en mesure de le faire descendre à 633KB avec pngquant (64 couleurs avec de légères de tramage, qui est à peine visible sur l'écran classique, et doit être absolument invisible à la résolution de la Rétine) et ImageOptim.
Oui, vous aurez besoin de désactiver la conversion de Xcode pour éviter Xcode gonfler les fichiers en les convertissant à l'ARGB.
NB: l'article cité dans la accepté de répondre fournit aucun point de référence à tous pour la prétendue différence de vitesse.
Il contient également de la correction qu'il est possible d'optimiser des images avec ImageOptim pour les applications iOS.
Il est certainement sans danger, depuis iOS prend en charge le format Png. J'ai commenté sur la première réponse que je pense que l'avantage de performance de l'iOS-format ARGB est exagérée, car RGBA<->ARGB de conversion est trivial. Otoh, que le chargement et la décompression de plus de données n'est pas si trivial, je dirais donc que des fichiers de plus petite est plus rapide quel que soit le format.
OriginalL'auteur Kornel
Je suis en utilisant un excellent outil appelé ImageOptim
Il intègre un certain nombre d'outils à l'intérieur de laquelle écraser vos fichiers png de manière significative (dans mon cas, c'était entre 25% à 50%).
Une chose à retenir, c'est de désactiver Xcode PNG optimisation (comme expliqué sur le site)
EDIT:
Faites simplement glisser les images pour le imageOptim fenêtre et l'optimisation démarre automatiquement
OriginalL'auteur IncrediApp