SDWebImage / SDWebImage/SDWebImageWebPCoder

Quality issues for animated images

オープン
#113 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Objective-C
スター
277
フォーク
101
PR マージ指標
30日以内にマージされた PR はありません

説明

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).

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

SDImageCoderHelper.defaultScaleDownLimitBytes から始め、参照されている行にある、リンク先の SDWebImageWebPCoder の pull request を調査します。指定された上限でアニメーション画像の品質とサイズの挙動を再現し、その後、ディスクまたはネットワークからのダウンロード順序を分けて調査します。観測された挙動が説明され、確認された回帰に対して対象を絞ったテストがあれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
objective-c
領域
computer-graphics, performance
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。