I performed a few tests and I believe I got it by now, but I want to make sure this is exactly how it works, using the settings:
- Composer media optimization image bytes optimization threshold: 524288 (I’m assuming this is around 500kb, right?)
- Composer media optimization image resize dimensions threshold: 1920
- Composer media optimization image resize width target: set to 1700
- Composer media optimization image encode quality: 75
So, with this, and I will use completely non-sense examples, just to prove a point:
- My image is 400kb, but 4000px by 4000px: nothing happens, because the first checkpoint is the 500kb. So in here, the width could either be 10px wide or 10,000px, it wouldn’t make a difference.
- My image is 600kb, 1500px wide: only 75% compression is applied, because it’s above 500kb, but the image size in px doesn’t change, because the second checkpoint (1920) doesn’t match the image’s width.
- My image is 600kb, 3000px wide: 75% compression is applied, and resizes it to 1700, because 1920 is the minimum to trigger it and 1700 is the width it should be resized to.
So basically, it first checks the file size in bytes, regardless of the width, and if it’s above 500kb (or so), it applies the 75% compression. After that, if the width is above 1900, it resizes it to 1700.
Am I getting it right?
So my question is:
If this is how it works, let’s say, in a very senseless example, that my image was 10mb, but 800px wide. That means that it would apply 75% compression, still giving me a very large image with maybe 7.5MB (or whatever value I get after the 75% compression), but would keep the 800px width?