Hi!
As requested by Konstantin, I've been working on add a simplified Cairo
render to try to speed up user response.

https://github.com/genete/synfig/tree/simplified-cairo

In theory it should speed up the render more when using Cairo. It involves:

1) Limited layers. Only basic primitives are visible. Raster effects aren't
visible in this simplified Cairo mode. DONE
2) No tile render. Tile render overwhelms the Cairo context because it
needs to  create one Context for each tile when in fact it could render all
the shapes in one context. DONE
3) No All blend methods supported. Many blend methods do need a color
conversion operation which is performed at pixel level. ON GOING
4) No gamma filter. In Synfig (Cairo or Software render) it is needed to do
a pixel conversion to apply the gamma 2.2. DONE
5) Some layers have limited effects. The plan is to avoid all the blur
effects on shapes (i.e. feather) ON GOING

Working with it, I've implemented to force the full frame render when
simplified Cairo is enabled (point 2). Then I noticed that when the user
zooms in and the tile render is not enabled, the size in pixels of the
rendered surface is (much) bigger than the needed (the drawing area size of
the workarea).

Trying to figure out why is this that way, I've realized that the fact that
only the canvas dimensions is rendered in the workarea and the rest is
transparent.

Many times it has been asked to be possible see the objects placed outside
the Canvas dimensions to make possible initiate the animation from outside
the canvas itself.

So the idea is that the workarea has its own render description which
always would fill the window size with rendered things. Then additionally
to that, there should be a frame drawn to indicate the canvas dimensions
and so the user would know when the shape is inside the defined output or
not.

So I want to know your opinion on this: would be useful to render the full
workarea regardless the canvas dimensions and indicate the canvas
dimensions with a drawn frame?

This would allow to use full frame render without the need of render more
pixels than the needed.

That doesn't happen with the tile render because the render description of
the tiles are reduced to match the tile.

That is :)


-- 
Carlos
http://synfig.org
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
_______________________________________________
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to