Rendering gif produces artifacts

Hi,
I just started with synfig and I am going through the Basic tutorial. My problem is, the rendering just won’t work right! The produced gif is pixelated as hell, whatever settings of quality and anti-aliasing I try. When I render it as a batch of png files, everything is okay.

I am running Synfig Studio 0.62.01 on Windows XP.

Example:

Uploaded with ImageShack.us

Please select .gif as extension in the filename and Magick++ as the target for the renderer. You’ll obtain a smaller animated gif files size and without any render artifact.
-G

There is no “Magick++” target. :frowning: I already found out that Magic++ should be better, but I don’t have that option in the drop down menu.


Uploaded with ImageShack.us

ImageMagick is the name of the library, Genete uses ‘Magick++’ as reference to the API, but still you should try ‘imagemagick’ setting, a few tests will no harm, let us know your results.

sigh

My findings so far:
filetype .gif, target “gif” > pixelated, artifacts
filetype .gif, target “auto” > empty file (0kB)
filetype .gif, target “imagemagick” > empty file
filetype .mpg , target “ffmpeg” > weird distorted video
filetype .avi, target “ffmpeg” > OK. Looks good, no artifacts or pixelation.

So, uh, success? I suppose I’ll just convert it to .gif if I need it…

If you can’t get gif render to work in synfig you could try rendering to image sequence and then create an animated gif using imagemagick like:

convert -delay 8 -loop 0 input_image.00*.png output-image.gif

the delay is how long each image is displayed, framerate, 4 would be equal to pal, 25fps. 8 is about half framerate.

As far as I know Magick++ was included in the windows version. It is possible that finally it wasn’t include in the windows binary package. In the linux version we provide we include the Magick++ libraries by default. As workaround you can use other gif producer based on image sequence, like rylleman explained.
I’m sorry but the current gif render code doesn’t optimize the output like Magick++ or ImageMagic could do.
-G

GIF isn’t well catered for with Synfig.
The built in GIF generation code does produce artifacts, as you noticed. Dooglus investigated this, but rather than figuring out where the problem lay, he chose to implement the Magick++ interface instead.
Magick++ isn’t included in the Windows version as we were never able to get it to compile under Mingw. When we move to Cmake, we should be able to resolve this when we build with Microsoft Visual C (which reportedly does compile Magick++).
Imagemagick seems to be broken right now as the code is passing it an invalid parameter. I’ll see if I can figure out what’s going on before the next release, and see if we can at least get that working.

Chris

Actually it looks like we’re not bundling imagemagick, so the invalid parameter is coming up because convert is triggering the OS command to change the format of the hard drive. It’ll probably work if you install Imagemagick :slight_smile:

After installing the Imagemagick, rendering to “imagemagick” target produces a batch of still gifs. I tried to combine them with Imagemagick and got an error, but I am hopeless when using cmd. :smiley:
I guess I will just render my animations to avi (since I plan to edit them in video editor afterwards, I guess I don’t really need the gif)

Thanks for all the tips nonetheless. I can see that Synfig has great potential - once the bugs are gone. :wink: