Page MenuHomePhabricator

Feature Overview
Updated 2,683 Days AgoPublic

Anari vs. Synfig Studio

Synfig Studio 1.0 introduces a lot of improvements (or apparently so, since an invalid dependency is preventing installation on Ubuntu 14.04/14.10.) However, there remains at least one major issue that prevents Synfig from being usable in a production capacity: it has an inordinately large CPU and memory demand.

It would appear that this is due to a considerable amount of recursion in critical playback and rendering functions. However, for Synfig Studio, this is unavoidable, as explained by Robert Quattlebaum.

The rendering model of Synfig requires each layer to have complete control over how the layers under it are rendered. When a context is passed to a layer, you can think of it as how you tell that layer what is underneath it.

(Read the whole letter)

Lightrift is designed for a very different task than Synfig Studio. While Synfig Studio is for designing cinematic-quality vector animation, it is too slow for game animation playback. As Robert Quattlebaum said regarding our project...

[Many] of these capabilities I would have implemented if I was writing this for a real-time interactive video game. For one, this model (as currently implemented) is almost impossible (if not actually impossible) to hardware accelerate. Each layer is a bottleneck to hardware optimization.

Thus, Synfig Studio and Lightrift would need to have two completely different rendering engines - Lightrift would use Anari.

Contrasting Feature List

- = Absent
X = Present (or in case of SGS, planned)
C = May be contributed by our team

FeatureSynfig StudioAnari
BlursX-
DistortionsX-
Time-LoopX-
Scripting Engine-X
Interactive Event Listeners-X
Game Physics-X
Adv. Sound PlaybackCX

The following should be evaluated for their viability in Anari. (Subject to licensing.)

  • Filters
  • Fractals
  • Particles
  • Skeleton

List of all Synfig Studio Layers

Last Author
jcmcdonald
Last Edited
Apr 10 2015, 5:10 PM

Event Timeline

jcmcdonald moved this document from Feature Overview.