Compositor - File Output - PNG compression ratio issue I use the compositor to save my renders into files with the "File Output" node. I want to have the smallest file size while preserving all information. I use PNG file format with the highest compression ratio, i.e. 100%.

My problem comes from the output file size. It seems that the compression ratio in the "File Output" node is not the same as the one when manually saving the image with the Image Editor (Image Editor > Image > Save As...).

Here are the figures with the default Cube rendering.

File Output node in compositor :


PNG 0% : 8.3 MB
PNG 15% : 1.0 MB
PNG 100% : 610 KB


Manual saving via Image Editor :


PNG 0% : 8.3 MB
PNG 15% : 75 KB
PNG 100% : 38 KB


So for the same level of compression, I have different image size.

Maybe I miss something. Can anyone help ?
Thanks.

Blender version : official 2.82 on Linux.

Screenshot of my compositor node settings :



File browser with file sizes :



All files look the same (resized below) :
The difference comes from the dithering. This post-process is not applied on the viewer node but is applied on the render. You can find more info on dithering : https://docs.blender.org/manual/en/dev/render/output/settings.html#dithering


  Dithering is a technique for blurring pixels to prevent banding that
  is seen in areas of gradients, where stair-stepping appears between
  colors


Dithering adds noise. It explains why file sizes are not the same (noise is harder to compress).
Below, the first image does not have dithering and the second one does have dithering (maybe you need to zoom in to see the difference).

 

To get back to my initial question, the image saved with the File Output node via the Compositor has dithering and the image saved from the Viewer Node via the Image Editor does not have dithering.

I get the info from developers on ticket I opened :
https://developer.blender.org/T74071