OVERHEAD

Quirk in the system

BYTE WARS

*sigh*

…I found more variants.

  • oxipng --opt max --strip all --nc “$original_image” --out “$path_to_oxi_nc_output”
    • --nc: Preserve the original image’s colour type (e.g. RGB(A), grayscale, or indexed colours).
    • Listed as the “Oxi-NC” entry.
  • oxipng --opt max --strip all --nc --zopfli “$original_image” --out “$path_to_oxi_nc_zf_output”
    • Listed as the “Oxi-NC-ZF” entry.

Results for the ‘section-series.png’ image, with the best-to-worst encoding order being: CWebP, Oxi-NC-ZF, Oxi-NC, PNGQuant or OxiPNG or OxiPNG-ZF or Oxi-Quant or Oxi-ZF-Quant, then Original.

Filename:		'section-series.png'
Original Filesize:	197 bytes
PNGQuant Filesize:	160 bytes
OxiPNG Filesize:	160 bytes
OxiPNG-ZF Filesize:	160 bytes
Oxi-Quant Filesize:	160 bytes
Oxi-Quant-ZF Filesize:	160 bytes
Oxi-NC Filesize:	158 bytes
Oxi-NC-ZF Filesize:	156 bytes
CWebP Filesize:		86 bytes
Smallest encoding:	86 bytes, CWebP

Wanna know the worst part? It’s not a one off result. In fact, it actually improved four images in terms of the smallest PNG encoding possible.

All original input images use the RGB(A) colour type.

And yes, the --nc --zopfli variant can lose to the --nc variant, so we need both.