SDWebImage / SDWebImage/SDWebImageWebPCoder
Quality issues for animated images
Personne n'a encore pris cette issue.
- Langage dominant
- Objective-C
- Étoiles
- 277
- Forks
- 101
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Description
My code includes the setting of this limitation:
/// Limits scale down to 24MB.
SDImageCoderHelper.defaultScaleDownLimitBytes = 24 * 1_024 * 1_024
When I get an animated image data that weighs 1.8 MB, the quality is severely degraded, and if I saw correctly my final image was 0.5 MB. I tried to play around with setting the value and in the end I got an image of 7200 bytes with the 1 MB limit set.
This was strange to me, so I tried exploring the codebase and seemed to find the problem in this line: https://github.com/SDWebImage/SDWebImageWebPCoder/pull/75/files#diff-e9c046b25a4d1b5fd2e490c2ebc802f1a63ef0459e0ad74dd3647f72d9c68323R94
Am I misunderstanding the expected behavior? Because it looks like a bug to me. Since it is strange that by setting the limit to 24 MB I get image quality degradation and image size reduction when its image data size is only 1.77 MB.
Also maybe you can tell me why when I try to download a heavy image and several small images, if the heavy image was added earlier, I don't get a response for the small images until the large one is downloaded? (It is important to note that I am considering the case of downloading an image from disk or over the network, only in these cases this happens).
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par SDImageCoderHelper.defaultScaleDownLimitBytes et examinez la pull request liée de SDWebImageWebPCoder à la ligne référencée. Reproduisez le comportement en matière de qualité et de taille des images animées avec les limites indiquées, puis étudiez séparément l’ordre des téléchargements depuis le disque ou le réseau. La tâche est terminée lorsque les comportements observés sont expliqués et que les régressions confirmées disposent de tests ciblés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- objective-c
- Domaine
- computer-graphics, performance
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 30/100