Grasshopper

algorithmic modeling for Rhino

Something I'd been thinking might be useful is a warning/confirmation pop-up box when making a connection that is about to trigger a very heavy computation.

For example, if you have 1000 points and you want to find their closest points on 1000 corresponding curves, but in a lapse of concentration you forget that one wire contains a list and the other is grafted. So instead of 1000 closest point calculations, suddenly in one slip of the mouse you have accidentally asked for 1000000 calculations (and often many more as the changes propagate downstream), you press escape and nothing happens, and you are left looking at task manager trying to figure out whether Grasshopper has crashed and wondering whether to force quit Rhino or wait it out.

What would be nice is a dialogue box with a

'this connection is about to create x zillion data items, are you sure ? - ok/cancel'

There could be a user setting for the threshold number of calculations. Ideally this would be weighted roughly according to how long different operations take, but even just a single number would be good, because a lot of the time I think it will be possible to know that any request for over 1 million, say, or 50 billion calculations was probably a mistake, or at least worth confirming.

Would anyone else find this useful ?

Views: 2058

Replies to This Discussion

Ahhh. I just figured out that significant amounts of time can be spend between components, especially when funneling loads of data that has to be converted into other data (Lines into Curves in the example file you posted). Escape presses are not monitored during this process. I'll let you know if it makes a difference.

ps. Clearing the data of the component that was busy while the escape key went down already seems to be a significant improvement.

--

David Rutten

david@mcneel.com

Poprad, Slovakia

I just want to put my support behind some sort of solution as this is a constant problem that is often quite embarrassing when I'm teaching. Although most of my tutorials go well, there is always the one student who asks "what if we wanted to do this instead..." and in my haste to try to figure out a solution on the fly for him I often forget the quantities involved in the data trees and manage to crash Grasshopper. I try to use the situation as a very real example of why understanding data trees is important, but it still makes me feel like a fool.

I'm all for a better escape key and/or a prompt. I don't mind the one that weaverbird uses for high sub-D levels. Maybe it could be a user setting that the prompt only kicks in above a certain level of calculations (and could be disabled for anything involving galapagos or scripted components).

I also added Escape state checks to data conversions and Daniels file (with CRASH! = True) now appears to be fully abortable. However there are many more tight loops that may prevent an abort for a prolonged period of time, but let's fix those problems when they come up.

--

David Rutten

david@mcneel.com

Poprad, Slovakia

The only thing left to decide right now, is whether to flush parameters with more than X items of data inside them on an abort, as the subsequent meshing and display may still cause significant slowdown. But who decides X?

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Good work, this will be a huge improvement!

Why do we need a say about X limit? What's the benefit of not flushing?

The benefit of not flushing would be to retain the validity of -potentially large- sections of the network. Or maybe for clarity's sake it is better to wipe everything on Abort. I don't know.

--

David Rutten

david@mcneel.com

Poprad, Slovakia

To Flush, or not to Flush, that is the question:
Whether 'tis Nobler in the mind to suffer
The Slow and Painful processing tedium,
Or to take action against a canvas of troubles,
And by opposing end them: to kill, to halt
No more; and by a halt, to say we end
The heart-ache, and the thousand components ticking
That wire was too much? 'Tis a graft too many
Devoutly we wished never to have connected,
To slump, perchance to dread; Ay, there's the rub,

For in that moment, what deadlines may come,
When we have shuffled off to make some coffee,
Must give us pause. There's the respect
Thinking before connecting of so much data!


Shanna, they bought their tickets, they knew what they were getting into. I say, let 'em crash!


You'd make me laugh if it wasn't prohibited.


--

David Rutten

david@mcneel.com

Poprad, Slovakia


RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service