Synfig antialiasing appears non-functional

When I export a Synfig animation to PNG files using -a 1 or -a 4, the resulting PNG files are identical (as compared using “diff”).

It does appear to be antialiasing the PNGs no matter what, but how can I gain control over the antialiasing amount?

It wasn’t clear in the man page, but it seems that it is using -Q instead of -a.

-Q 0 is visibly different from -Q1, however -Q 4 produces the same PNG image as -Q 1. Why is there a quality scale if it’s only boolean?


Upon further investigation, -Q 1 and -Q 9 are different.

A visual inspection shows that the -Q number is in reverse, with a lower number being higher quality, except for 0 which is the lowest quality.

Is this nonsense quality number a mistake or on purpose?

You can control to have no antialiasing on the individual shapes for Polygon, Region, Outline, Star and Advanced Outline. See the Antialias parameter on those layers.

Quality changes behavior of some layers, not all of them. For example Motion Blur layer renders more subsamples based on quality values in intervals. See this: … r.cpp#L167

There is not enough documentation about quality effect for each layer. Time that someone starts to write it on the wiki.

It was like that form the original developer:
0 = no quality (and on contrary horribly slow in many cases)
1-9 best to worse quality

Not a good choice, really.

Apart of this antialiasing is only used by layers that doesn’t have a “accelerated render” function defined but just a “get color” for a certain point in user space.

When that happens, the antialiasing is effective and theoretically produces smoother render for higher antialiasing values. But render time is increased by a exponent of 2 based on antialiasing value.

See here which layers uses which method to render: … sp=sharing


Seems that Motion Blur layer doesn’t follow that way ?

         case 1: // Production Quality
         case 2: // Excellent Quality

is’nt it ?

Nota : can’t access to the link “See here which layers uses which method to render:” … sp=sharing

Nota bis : i done minor change in

It does.
Quality = 0 (default for the switch) means worse and 9 is better.

Link is badly copied. Try the full one from the original post and do not literally copy the characters form the post but the link it follows when clicked:

NOTE: Curve Gradient is missing, it uses accelerated render.

because a google account is needed …