Stop using Xcode compression #327
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Discussed in DMs but might as well repeat.
Xcode converts all images to an iOS-specific PNG derivative. This increases the total size of the images; however, the "benefit" of this is that it saves a conversion step during loading.
However, this often always results in the exact opposite affect; due to there now being more data to read from the NAND, loading often takes longer since NAND reads are much more costly on performance than the little it saves. https://imageoptim.com/tweetbot.html https://imageoptim.com/xcode.html This is pretty old but should demonstrate the negative performance affects. Optimizing an asset for size is (at least from my experience) better for load times.
To my knowledge all icons are already optimized for size (I ran them through oxipng and it couldn't find anything) before being ran through Xcode which undoes a lot of optimizations when COMPRESS_PNG_FILES=YES, so no need for me to compress any further. At least from my experience, this change takes us down 0.3MB, which admittedly isn't much but still is an improvement in size and load times.
If there's anything I should change with this, LMK.