Dynamic Image Generation
*Due to continual problems with buggy plugins, this feature is off by default, but may be enabled via adding an override/constant to your wp-config.php file:
define( 'EWWW_IMAGE_OPTIMIZER_ENABLE_EDITOR', true );
EWWW IO has this neat feature where any image that is created by the WP_Image_Editor class can be automatically optimized. This helps when plugins generate images for sliders, and when themes create header images and such that are not stored in the Media Library.
There are even some plugins and themes that will dynamically generate image resizes to be compatible with certain widgets, or various screen sizes. This is a nice feature for them to provide, but such functions need to take care that they cache such images to disk. Otherwise they will have to regenerate these images over and over again. The mechanism for image generation can vary, some generate them in batches, others do it when a visitor loads a page on your site. In either case, if the images are not cached to disk, the images will be regenerated, resulting in repeated optimization of the same images. This is because EWWW IO tracks images by file size, but when an image is regenerated, the file size changes back to the original.
When such a problem occurs, EWWW IO will generally throw a warning message, so what to do when you get the warning?
The first thing to do is hit the reset link, to make sure the problem is still occurring. If the warning comes back, then you need to turn on EWWW IO's debugging setting (on the Support tab), and wait for enough information to collect. 12 hours is usually a safe amount of time to wait, but often the issue is such that you only need to wait an hour or two. When debugging is enabled, you can browse over to Tools->EWWW Image Optimizer and click the Show Re-optimized Images button.
This will display information on images that have been optimized multiple times, along with PHP trace logs that show how/why the image was re-optimized. If the trace logs don't make a lot of sense to you, just contact us for help tracking down the issue (include the trace logs also).