Dear Michael,
I have been reading your Satori tutorial "The Big Picture"
which I found very interesting and I would
like to know your opinion on an alternative way of improving
performance when working on complex
canvases. Have you tried loading canvases, rather than flattened rir files, to layers?
I regularly use nested canvases anyway so that I can work on
separate objects in separate canvases
and then combine them into a finished scene by loading each one
as a separate layer in a single top
canvas. Subjectively I have always felt that this improved the
performance, provided that the canvases
were saved without "compression" i.e. with a bit map
included in the cvs file.
I have done a few tests this evening using a 29-layer canvas.
In test A I simply added an extra layer. In
test B I created a new canvas, loading the original 29-layer
canvas to 1 layer (call that the base layer)
and than added the same extra layer as in test A. For performance
test B won by miles: 85% reduction in
load time when opening the cvs file, 80% reduction in time to
redisplay the image after a layer move
(provided it's not the base layer), 45% reduction in time to
display a Hi-Rez image.
I am not suggesting that the performance improvement will always
be that good. I believe that it works
only when Satori can get the information it needs from the bitmaps
in the lower level canvas(es) rather
than from the objects. It does have the advantage though that
one does not have to create extra rir files
and Satori keeps track of everything. When one renders the top
level canvas the renderer automatically
picks up all the information in the lower level canvases.
I would much appreciate you comments on this alternative. Nigel
REPLY:
Nigel.
The reasoning behind
my original article arose from: 1) Hitting a performance ceiling
when I created multi layer Satori canvases and having to work
around it, and 2) Using sloppy file name conventions that made
it really difficult for me to recreate a "Master" canvas
when it came to render time. Being human, and also a novice in
the methods of Satori, as soon as I hit on a workable solution
I stopped searching for any other that might be more efficient.
At the time, I asked Mark Graham to look at the logic behind
this M.O. and he could find no fault with it, provided one had
adequate RAM, and disk space.
I'm delighted to read
and re-read your suggestions for improving the M.O. It makes
perfect sense to nest canvases in the way you suggest. The only
thing that I will have to test in my own work is the effect that
the presence of many masked layers will have on the nested canvases.
Masks contribute a high processing overhead in Satori, especially
when zooming and Hi-Rezzing.
In fact I've been wanting for ages to do a tutorial called "Bring
Satori to its Knees". It would encourage users to add more
and more layers containing masks while looking at the available
RAM on the status bar rapidly approach zero, until the sound
of the dreaded hard disk thrash indicates that the swapfile is
being used. After that point, using Hi-Rez zooms in Satori is
like wading through cold spaghetti.
There is one more caveat,
that I point out in the advanced Users Tips called "Quad Distort
& the Mathematical Black Hole" that indicates that some layer effects should
be nested as pre-rendered RIR files before a final composite.
Other than that, your method appears faultless in its logic,
and true to the essence of Satori.
Yours cordially, Michael.
Michael
Re your comments on
masking and bringing Satori to its knees: the 29-layer canvas
I referred to contained 29 lower level canvases, each of which
contained (at least) a rir file and user mask/alpha channel.
Even in test A, the
30-layer canvas, although Satori was slow displaying Hi-Rez it
didn't grind to a halt or start thrashing. Having 128M of RAM
helps, of course.
I have used quad distort
occasionally in nested canvases and so far I haven't had any
problems but I may just have been lucky.
Nigel
I think we all develop our own
styles as artists. We find tools and ways of working that suit our temprament/needs
which, in turn, with habit and with discipline, become a practice. This
practice comes to shape our experience and define us as practioners.
OK, so what I'm saying
is that it has generally been my experience that the nesting of canvas
files results in a degradation of performance compared to the use of
RIRs in a master document.
I had not considered
the "why" of this within the frame of my own experiencing
of it - I only understood that the imported files would need to be rendered
and that therefore RIRs would be more efficient.
I had not anticipated that render
times could significantly be improved by the employment of No Compression
in the cvs file itself. But, of course, now that I come to think about
it....it's OBVIOUS!!!
You see I have always
advocated the use of High Compression in cvs files (maybe as I send
and receive so many at the Satori support inbox and it saves me time/money).
My mission directive is speed/size and my practice formed my experience.
A future reference guide should
describe more fully the advantages and disadvantages of the various
canvas compression options and how to use them to get the best out of
Satori.
Thank you Nigel for
this insight. Thank you Michael for initiaiting and hosting it.
Best regards,
Mark Graham
If you would like to contribute
to this debate, plaease e-mail your opinions to:- webmaster@animation-backgrounds.com