Re: [Gimp-developer] Shape layers for GIMP?



Yes, processors nowadays are very powerful and indeed applying a bunch of effects onto a shape layer every time you make a change takes a good amount of CPU power; but that's fundamentally different, because at least there, there is a finite limit of the number of operations that will need to be reapplied per change (ie. every single layer effect is turned on, the CPU will have to re-apply every single layer effect). However, the idea of being able to modify any change in the undo buffer is much more difficult, because there is a potentially infinite number of past changes. I could design a really complex shape, apply 100 effects, then go away and do loads more complex work with loads more complex effects, then design another really complex shape, etc. By the time I want to go back 1000 (by the way, actually finding the edit I want to modify would be rather difficult at this point too!), the CPU has to apply 1000 processor-intensive effects. That's WAY more work than even the worst-case scenario with something like a shape layer. But it just gets worse and worse. What will the performance be like if I want to modify something 10,000 moves back? 100,000? At some point this idea because unfeasible, it seems to me. Modern CPUs can perform "quite a lot of operations without cumbersome delay", but even the most powerful CPU is going to start to hurt at some point, and in advanced graphics editing, that point may arrive rather quickly.

> operations without cumbersome delay. And, clearly: if many slow
> filters have to be recalculated
> in order to update the screen, the user may have to wait. But again,
> what would be the better
> alternative -- simply not allow to re-adjust that operation from long
> ago?

Yes. Or to give the user a warning that this operation is likely to take a long time. But because it may be likely to take a long time, it is no replacement for shape layers. The great thing about shape layers in Photoshop is that you get a "live preview" - it is able to render the layer effects almost immediately every time you make a change. It wouldn't be worth it if you had to wait 10 seconds every time.

--
Best regards,
Jeremy Morton (Jez)

On 09/09/2012 20:10, yahvuu wrote:
Hi Jeremy,

Am 09.09.2012 13:32, schrieb Jeremy Morton:
On 09/09/2012 12:24, yahvuu wrote:
My understanding is that you will be able to go back in the operations history and just modify the path.
All consequences of this modification will be displayed live. No need to declare special "layer effects"
or special "shape layers".

Well that sounds great, but I don't really see how it's feasible.  What if you want to modify an operation 1000 complex edits ago?  The CPU is going to have to redo those 1000 edits every time you modify; surely this would become cumbersome very quickly?
what gets better if you redo those 1000 complex edits manually?

Your shape layer example probably shows that current computers can perform quite a lot of
operations without cumbersome delay. And, clearly: if many slow filters have to be recalculated
in order to update the screen, the user may have to wait. But again, what would be the better
alternative -- simply not allow to re-adjust that operation from long ago?

There is a wide range of possible optimizations, so it is probably better to think of
non-destructive editing not as a macro-recorder which has to replay any stroke and user action
in strictly the same way, but rather as building a list of operations that achieves the desired effect
in the shortest way possible.


best regards,
yahvuu





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]