Multiple entries in sys_file_processedfile caused by null entries in configuration
Different Viewhelpers and Extensions fill the configuration of processed files in different ways to achive the same goal. Mostly the differences in the configuration array comes from null values. In Viewhelpers these are caused by directly assigning an argument to the configuration. Example:
$configuration['minWidth'] = $this->arguments['minWidth'];
As far as i can see in the code all falsey values are ignored by the processing. But those null values can cause a double processing of the same image with the same instructions with diffenent entries in sys_file_processedfile and the proccessed directory. For our installation there are roughly 10% doublettes.
The null or falsey values could easily removed by changing line 384 in file typo3/sysext/core/Classes/Resource/ProcessedFile.php from current master
$properties['configuration'] = serialize($this->processingConfiguration);
$properties['configuration'] = serialize(array_filter($this->processingConfiguration));
The difficult part would be to force a regeneration of all processed files.