feature request: temporarily suspend history update

Next
 From:  Michael (MMHS)
571.1 
When editing the source curve of a rather complex derivative object (e.g. the profile curve of a sweep), the program slows down so much because of constantly recomputing (updating) the derivative shape, that it becomes difficult to do the edit. I think if the updating could be suspended (e.g. by pressing the shift key while doing the edit), the workflow could be much improved.

Michael H.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
571.2 In reply to 571.1 
Hi Michael, I have been planning on doing something in this area for a while, I just haven't been able to quite get around to finishing it yet.

But I'm planning on doing something a lot more automatic - if it is taking too long to calculate a history update, I'll just cancel it automatically, except it will wait to finish the last one when you have completed an action (like let up on the mouse when dragging a control point).

I'll see if I can finish up this area.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael (MMHS)
571.3 In reply to 571.2 
thanks for your response, this sounds very promising.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
571.4 In reply to 571.3 
Hi Michael, well it wasn't easy but I just finished the history canceling / updating stuff which will be in the next beta. I'm not sure when the next beta will be ready, maybe the end of next week.

Now the immediate object that you are editing stays responsive when you drag the mouse around, and history updates will happen if they can be done within a short time period, or otherwise they get automatically canceled and a new history calculation is started. If you hold your mouse still for a moment you can let it "catch up".

When you finish an operation, like for example when you release the mouse for a dragging operation, MoI will wait and finish computing the history updates then. If it takes a while, it will display "Calculating", and you can push the Cancel button or hit the escape key to cancel the entire operation if it is taking too long, which wasn't previously possible.

There is one negative side effect - there is a bit of overhead to having history be interruptable like this, so some simple things that previously updated really quickly will have a slightly less fluid feel. Like if you edit a curve, the curve itself will immediately move into its new place, but the history update will get there just a slight moment after. The history kind of "follows" the curve a little bit instead of moving with the curve always all in one single step like it previously did. It has a slightly different feel.

But the good part is that the thing that you are immediately editing stays fluid while you move the mouse around even if there is complex history attached to it. Things don't completely "lock up" while the history is being updated like it previously would.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael (MMHS)
571.5 In reply to 571.4 
Hi Michael, i'm glad you got to work on this so quickly. Can't wait to check it out.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Michael Gibson
571.6 In reply to 571.5 
The nice thing about this is that previously you may have hesitated to mess around with something with complex history if you thought it might go off and lock things up for some unknown length of time.

Having the ability to cancel with the next beta means that you don't have to hesitate like that anymore. It's still possible that it might take some length of time to finish calculating, but if you don't want to wait you can bail out, you're not just stuck there. So you can feel more free to experiment.

The only thing that is not quite "perfect" is that you do have to wait for history to be calculated after you finish any particular operation. Like if you drag a control point, history needs to be updated when you release the mouse to finish the drag. Although you can cancel it, if you want to accept that edit and do some more, you still need to wait for it to finish before you can do the additional operations.

Ideally it would be nice if you could go on to do several other operations, like drag some other points, etc..., without waiting for the update at the end of each separate operation.

It's going to be pretty complex to get that to work because of issues like what if one of your additional operations is to delete the curve... So that full level of fluidity will have to wait until a future version.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All