Simulating a laser show?

First, thank you for the detailed reply and the example. I have been attempting to follow it. However, it seems that bugs have stymied my efforts. I was on 0.64.2, on my 64bit windows laptop. But there was a bug which prevented me from being able to save. I found a thread viewtopic.php?uid=7974&f=34&t=5316&start=0#p22848 which linked to a release that should permit me to save. It now does save, and lists as version 0.64.1.

I can run your laser example within Synfig, but my current problem is that when I attempt to render your example to a GIF, after several minutes of running, it stops. No gif file is created. The Synfig dos window does not show that it has completed the render. I also noticed that the thread I linked to mentions a problem following a path. Could that be what I ran into? Attached is a screen grab of the Synfig dos window.

Is there perhaps an older version that I should go to, that may be more stable for the features I want to use?

Synfig DOS window failing to render.PNG

Gif format has troubles in windows. As you can see, I didn’t provide a gif image because I was using rondos version too to produce the animation. To obtain a good gif in size and without render artifacts it us better to use Magick++ target and gif extension rather that only gif extension and use internal renderer.
Magick++ libraries are difficult to link in windows so they aren’t available. You can use song sequence and use a Gimp plugging to concert a set of layers to an animated gif.
I recommend to stick to 0.64.1 which is the latest stable version.

Sorry, but I don’t follow your alternative methods to produce Gif animations. My end goal is not a GIF animation anyway, I just followed that because it was part of the beginner’s tutorial. I just tried to render the ffmpg, but another error occurred. Attached is that error in the Dos window. Note that the output results was one .png file, but that file would not open.

Synfig DOS window failed mpg.PNG

Thank you Genete for your efforts, which I think, exemplify the world of open source software. But after trying to get up to speed on things with Synfig, I am beginning to wonder if I would be better of with another program.

Synfig, while it seems to have a lot going for it, seems to suffer from the same fate as a lot of open-source software. Writing documentation is a special skill itself, and one that many programmers don’t have. When you are creating documentation for complex programs, there has to be people who have both of those respective skills working together. Then, another different challenge comes when you try to make software easy to use. E.g., to save an animation as a movie, the casual user doesn’t automatically think they should ignore the file menu, to click on a little triangle, and then that file menu, and then choose the word render. Fixing all the above takes time and money, that typically the open source software does not have.

The rendering features of Synfig seem to be failing on multiple levels. Since some people are having success, I am confident I could eventually get over the initial hump. But perhaps for this project I would be better off with another program. Though, budget may limit that choice. I would hope to find something under $100. Can you recommend any?


After trying to check out other programs, I haven’t quite given up on Synfig. But, I need to get the ability to render a movie, or the program is useless.

My failed earlier was apparently because you must manually type the correct file extension, for the type of rendering you want to do. When I tried again, there was some other error, and nothing was created. Then, Synfig locked up. But, I tried again, apparently with a little more success, since I saw it rendering frames. Though, I am puzzled why it is so slow. Perhaps 2 seconds per frame. Yet, I still have not successfully created my MPG file. Below is the final few lines from the DOS window. Note that I tried to get come text from the beginning, but apparently the DOS window does not save text that far back.

frame= 480 fps=0.4 q=2.0 size= 388kB time=00:00:20.00 bitrate= 158.9kbits/s frame= 481 fps=0.4 q=1.6 size= 394kB time=00:00:20.04 bitrate= 161.0kbits/s pipe:: Input/output error frame= 481 fps=0.4 q=1.6 size= 394kB time=00:00:20.04 bitrate= 161.0kbits/s frame= 481 fps=0.4 q=1.6 Lsize= 396kB time=00:00:20.04 bitrate= 161.9kbits/s video:392kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.926373%

It did create the MPG file, but when I try to view it, Windows Media player will crash.


I’m also interested in the example you want to achieve.
You are right about all those issues. But This project is evolving. We need to have… patience?

The best is to render your sequence as a PNG sequence of images, and after that, use another program to make a gif or mpg sequence. For video I’m using the Video editor of Blender which is very good, in my opinion, but for understanding it… well, it’s not easy.

About the documentation, an idea: how about a google meeting or something similar, at least to have a brainstorming about how to do the work, … ehem or share responsabilities.

Regarding documentation, I looked to see if I could suggest edits on the Wiki page, but I could not find any way to do that. Someone new to the program is often better for writing stuff for other new people, since they are aware of the difficulties and potential mis-understandings a new guy may have. I am willing to do some of that documentation.

I understand how you are suggesting to proceed, but I still cannot create any renderings using either of the methods. Until I get over that hurdle, I really can’t proceed.


I will add that I am getting some sort of warning when I first start Synfig. I didn’t notice this before, but I wasn’t looking either. I tried to search for some of the terms, but the search feature on the forum says that the word is too common. Apparently a lot of people have this problem, or I am just not selecting the proper terms to search for.

I actually have a long string of errors, so here is the first one and the last one, in case that gives someone a clue what is wrong.

(synfigstudio.exe:6668): GLib-GObject-WARNING **: attempting to add an interface
 (GtkTreeModel) to class (gtkmm__CustomObject_KeyframeTreeStore) after class_init

(synfigstudio.exe:6668): GLib-GObject-WARNING **: Attempt to add property gtkmm_
_CustomObject_N6studio22CellRenderer_TimeTrackE::enable-timing-info after class
was initialised


Rendering as png sequence of images should be the most simple and basic way of rendering on synfig.
So, I’m wondering if something is wrong with your system, or there is a very hidden bug.

A checklist:

If the answer is yes to both of them, then I can’t help more, sorry.

Thank you for your continued help. I just went through the basic animation again, and this time I did succeed at making a GIF animation. Then, I tried the PNG versions, and did successfully create a series of frames. Something that took me by surprise, was that I had to manually put the correct extension on the file. That may have confused me before. I was also working wtih version 0.64.2, and now I am not clear when I attempted what. It is also possible that I got caught up on all the warnings at the dos windows. Are these things that should be ignored?

[code]synfig(2428) [1:10:32 PM] error: Standard Exception: Document not well-formed.
File file:///C:/Users/JD/Desktop/Test%20Animation/Laser%20Example/laser.png, lin
e 1, column 1 (fatal):
Start tag expected, ‘<’ not found

synfig(2428) [1:10:49 PM] error: KeyframeActionManager::refresh(): Not ready!
synfig(2428) [1:10:49 PM] error: KeyframeActionManager::refresh(): Not ready!
synfig(2428) [1:10:49 PM] info: closed
synfig(2428) [1:11:58 PM] warning: Time(): No unit provided in time code, assumi
ng FRAMES (“5”)[/code]


Well, if it’s not broken, don’t fix it. If it worked with synfig 0.64.1 keep using it. Where did you obtain 0.64.2 ?

I mean… First there were problems with the 0.64.1 about saving files, but later those were fixed, it was announced here in the forum, and i think that the fixed version is the one i put in the link, because is the oficial.

If you keep having issues with 0.64.1, … judging by the error messages, it seems that there are typo errors in some text input, so check all the tabs of the render panel.

Also complains about the sif file is not well formed (?). … Check if there are special characters in the layers names.

The file name is laser.sifz. And the full path name is, C:\Users\JD\Desktop\Test Animation\Laser Example

I am guessing that by “render panel” you mean “Render settings”. I don’t know where it is possible to put any text input values. But, here is a screen grab from each of the tabs on the render settings window. Is that the window you are talking about?

I will also mention that I am puzzled why the render takes so long. In my CAD program I can rotate and do real-time shading of a 3D object, and I would have expected a 2D animation program with only one object to move, to render faster than real-time. This is from having no experience with 3D animation, so I am speaking from ignorance.


You are right I was meaning the “render settings Panel”. Sorry if I wasn’t clear. By text input iwas pointing to the textboxes of the Render Settings. I see your screencaps and I don’t see any typo, maybe there are blank spaces somewhere but I can’t detect them.
Try to put “auto” in the “Target” textbox, keeping the filename iwth png extension.

Please use the synfig version in the link given above (ver 0.64.1). I think that the saving issues are also corrected there.

The laser.sifz file given by Genete could take a long time to render frame by frame because it is an animation of 20 secs with 24 fps so there will be 480 frames. Long times of render are normal… why? … I don’t know either. Any image rendered by computer, in 3d or 2d, takes time in rendering, maybe hours.

The messages are the result of trying to open a png file. You don’t open images in Synfig Studio but import them. You only can open sif (or sifz) files what are the documents of Synfig. Once imported, the image file would turn into a image layer that can be animated (things that you can do with a whole image).

In general, the work-flow of Synfig is not the same than the traditional applications. It has its own particularities. So please, be patience, things will make sense once you have the whole vision.

It has some explanation. In general, Synfig is slower than most of 2D applications until we get the proper use of the GPU power. It is like that because Synfig’s internal calculations are made all them in floating point, that is, pixels are not 8 bit per channel but 32 bits per channel. That’s a real difference. Also out time and interpolation system is floating point based, what allows to create things like the laser show I provided. Read below.

I want to explain you how laser animation I wrote is internally made. The motion blur layer samples the animation along the time for each frame 120 times. That means that on each frame you’re rendering 120 times the animation on different times. The equivalence for a 15 fps is that it turns out to be a 15x120=1800 fps animation.

Do you still thinking that it is really slow?


The bottom line is that Synfig is now working for me. I think part of it has just been getting used to how things work. A new user is prone to doing things differently what what an experienced user does. So they will click on things, or put number in fields, in a different order. So the new user is more likely to trigger problems in the programs.

For example, in the render settings, things like the number of frames or the length of the animation should relate to each other, and changing one should change the value of the other field. But, it often does not, and the values my be inconsistent with each other. That may trigger some of my problems. This is probably a bug, or perhaps a limitation in the program that should be fixed.

As for the version; I had downloaded version 0.64.1 a few months ago (I think) but didn’t understand the ALT-TAB method of getting past the screen resize bug. So, never actually used it. The, last week I installed version 0.64.2 Win 64bit, which I just obtained from the normal download, but my memory is vague on that. On another thread, I found a discussion about the saving bug, and someone provided a link to a re-build of the 0.64.1, which is what I am using now.

The other bug I am keeping a lookout for, is I saw one mention of a bug following a path. That is the main thing I am doing. I doubt the DOS window will say something as plain as “Error following path”. Do you know how that but manifests itself? What should I expect to see if that bug shows up on my project?

As always, thank you for your continued help. Without it I would be lost.


If it works, don’t change anything for the moment.

If the bug affects to you, you’ll see a blocking pop up window. If not, it is working.

I spoke too soon in regards to successfully creating a movie. I can create the series of png files, but I have not successfully used ffmpeg to collect them into an actual movie. I have learned that this utility is not part of the Synfig program. I started another thread about my efforts to get ffmpeg working. How can I tell if I have ffmpeg? Any documentation?


Genete, can you please advise me on how to adjust the brightness of the flying spot on your sample. I am not having much success using the Wiki, since it generates so many errors for me, or topics I find seem to just list the items on Synfig’s screen, rather than trying to explain what they do.

On another thread, a user suggested adjusting the brightness anything above 1, but I am not clear where this is to be adjusted.

Since rendering is so slow, it is not really good to use the trial-and-error method. So, it requires a greater amount of knowledge up front to make any headway.


Just increase the ‘Amount’ parameter of the circle (the spot) above 1.0. Make it extremely hight would ruin the laser effect, though so try with something like 10 to 20 initially. To make tests faster follow those tips:

  1. Use low resolution on canvas.
  2. Use quality 8 on canvas.
  3. Render only one frame (one relevant frame) to high resolution for testing purposes.
  4. Never use anti-aliasing more than 1. It is not noticeable.
  5. Do not increase Subsampling factor so much unless you need it in the final render. Remember that final render would increase subsampling when quality is better (1) and would leave subsampling to its lower value when quality is 9. The multiplicaiton factors of subsampling depending on quality and are those:

quality = 1 samples=32
quality = 2 samples=24
quality = 3 samples=16
quality = 4 samples=12
quality = 5 samples=7
quality = 6 samples=6
quality = 7 samples=5
quality = 8 samples=3
quality = 9 samples=2
quality = 10 samples=1

final samples = samples * subsamples_factor

So if you don’t modify the subsampling factor, you get 32 samples per frame in the final render (q=1) but would work with 3 samples in canvas window (q=8).

The transparency of each sample of the spot is obtained dividing the Amount parameter by the number of samples. For steady objects the final transparency is the overlapping of the N samples with a transparency of Amount/N so finally it is the same transparency than the original object. Well, this is a simplification for constant interpolation.
So if the object that is blurred under movement is steady and you use a big amount, it would become very non transparent (above the normal 1.0) and so, the anti-aliasing would fail, creating non fine edges around the object.
Solution, increase Amount only when spot is in movement and increase more if it moves faster.

Another tip, the faster the movement, the larger the trail of the object but less bright. Aperture parameter creates the illusion of a faster object, subsampling factor makes it more persistent (smooth transitions), and Amount of the object makes it brighter.


Thank you for the detailed reply. This sort of thing is what makes a program like Synfig viable, even if there are other weakness with documentation.

I will try this the next opportunity to devote a few hours.