Hi!
I would like to tank you both for the excellent work on the release and the
development branch.
Especially for the fixes of the recently code added by me, that I can't
help to address right now.
Additionally to this I would like to share with you some thoughts that were
truncated on my last email.
It is related to simplified Cairo. From my point of view, to properly use
the Cairo render (simplified or not) we should refurbish the render system.
Currently it is designed to use a surface as the holder of the information
to pass from one layer to other. Also, when the area to render is
significative bigger than the displayed area, it splits the render into
tiles, requesting to a separated thread to render each tile.
In Cairo, tile render is not useful because doing the render through the
Cairo::Context, render a area full frame is less cost than the tiles that
fills the area, since there is a context creation for each tile, which
would overwhelm the resources unnecessarily.
One alternative to tile, is render always full frame in Cairo mode. That's
what I started to do but it is needed to clip the full frame to match the
canvas visible area, before send it to render. That's pending to code in my
branch.
Apart of that, I have more (rough) ideas to improve the render on canvas
window, that are:
-Layers cache its render result and there is a global compositor that
blends the layers result altogether. Cached result just remember the
visible area of the layer within the render description.
-Multihreading can be layer based and not tile based.
-Static layers should be rendered only once for a certain render
description.
-Zoom in or out should reuse the current render to first give a rough
render result by scaling the cache. Same apply when using a rotate or scale
tool over a layer. Initial rough result could be the affine operation over
the cached render, and later render the result normally.
I hope you consider some of those ideas.
Cheers
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl