On 2012-05-17 02:08, Valerie wrote:
>> Don't let that worry you too much :) First of all, rendering a bunch of
>> shapes isn't necessarily that slow, and secondly, there are usually some
>> tricks to make the speed acceptable when it is.
> True, though I wonder if you'll still be saying that once people start
> stacking symmetry templates on top of tiling templates on top of
> perspective templates, with extrude templates in-between.
Yes, there are always things that will take "too much" time, but
initially it's usually a good idea to think about what you'd really
want. If you start thinking too early about performance you often end up
with something that might(!) be fast, but isn't really what you want...
So ideally you start to think about what you want, then identify where
the performance problems might lie and try to fix that. Of course it's
never that black and white, if you know beforehand that something will
be truely outrageously slow (taking hours, or even days or more in
typical use cases), then yeah, just forget about it.
> What am I talking about?
> ... (long list of compound operations)
> All the while, every function in-between can still be edited: he can
> change the number of windows on-canvas (tiling), can change the
> perspective on-canvas, can change the extrude values on-canvas, can
> edit the vines on-canvas too. He can turn templates on and off, for
> example turning off the perspective template temporarily to edit the
Sure, that's taxing, but I wouldn't say beforehand that it is impossibly
slow. Sure, if the window is extremely complex, and the user makes
hundreds of copies, etc., etc., then it might become too slow, but
that's not exactly a surprise, and a simple consequence of the image
being quite complex. Put another way, it would still be /much/ faster
than creating the same image by hand (it might even render faster).
Also, if this kind of complicated work would become a typical use case,
then it might pay to implement some tricks. For example, we could allow
the user to (temporarily) limit propagation of changes to (all)
elements. Or update the image progressively (this has its issues, but in
some form it might make sense).
And remember, this is before we've even thought about all the ways in
which this kind of thing could be optimized. (In many cases we could get
by with just stamping bitmaps for example.)
> There's been a lot of head-scratching regarding the proper interface
> for LPE-stacking. The current interface is not on-canvas enough, and
> the lack of reusability is a pity (for perspective, for example, or
> custom wavy flags). There's been another proposal for connecting
> function boxes, and I'm not sure users would like that either.
> On-canvas templates may be a new approach, but seems to open up
> a lot of possibilities. Are there any other programs where you drop all
> sorts of functions to be accessed on-canvas?
Have a look at laidout (http://laidout.org/). Admittedly this is not
exactly a main-stream application, but it has some really interesting
features. The alignment tool was demonstrated at LGM and is in my
opinion definitely something to have in Inkscape as well (in some form