DynamoDS / Dynamo

Open Source Graphical Programming for Design
https://dynamobim.org
Other
1.74k stars 634 forks source link

Autorun enabled by default #4121

Closed ksobon closed 8 years ago

ksobon commented 9 years ago

It's a bad idea to by default have Auto-run on in Dynamo. It's not Grasshopper and its performing a lot heavier operations than Grasshopper. I think it was good as it was before when it was on Manual to begin with and user could switch to Auto-run. Why? Well, for starters Dynamo doesn't Auto-save so any screw-up is a fatal one. There is no getting your work back. Second, it ports into Revit and does some heavy lifting. Any screw-up and you are going to crash faster than you can count to two. Please roll that change back to what it was. There is no benefit in Auto-running Dynamo.

andydandy74 commented 9 years ago

:+1: I guess in sandbox mode it would make more sense, but not on top of Revit. Also, I noticed I managed to switch involuntarily from Manual to Autorun several times - probably because I was moving my scrollwheel and the dropdown was somehow focussed?

kronz commented 9 years ago

Hi Guys, The run state is now saved with the file. That is, when you create a new file, it is in run auto by default. If you open an old file before run auto was the default state, the file will be in manual. If you save a file in manual, it will open in manual. If you save in auto, it will open in auto. Does that make more sense to you?

Thanks -Z

dbaldacchino commented 9 years ago

We need a "safe mode". I've had a problem with a workspace that was saved with Auto enabled, and I couldn't get to open it to make edits as it kept crashing/hanging up. We need a way to go all manual so we can troubleshoot. Perhaps if Dynamo crashes it should open everything in Manual? Or give us an option to override the setting of each workspace and open in Manual (what I'm dubbing as "Safe Mode").

ksobon commented 9 years ago

@kronz forcing/saving with autorun is a tricky proposition. You can do that in Grasshopper because it allows you to a: recover autosaved files if you crashed. b: if you crashed next time you open it doesn't try to resolve the definition. it shows you a warning and puts a lock on it so that your machine doesnt perpetually crash. Now since Dynamo doesnt have any of these abilities then for now its just better to always open in Manual mode. When I start a new file it should be manual and when I close it should switch it to manual. It was just fine as it was in previous releases.

andydandy74 commented 9 years ago

Couldn't agree more.

mjkkirschner commented 9 years ago

Hey Guys, crash protection(switching to manual upon crashing in run auto) atleast has been added in the last few days and should make it to daily builds soon.

riteshchandawar commented 9 years ago

@dbaldacchino , for now if your file keeps on crashing on opening, then you can change its saved state by opening DYN in notepad and change RunType="Manual".

Thanks, Ritesh

monikaprabhu commented 9 years ago

@ksobon,@andydandy74,@dbaldacchino,Ive filed an issue MAGN-6825 to track this request from user - Change Default Run mode to Manual Why don't we save the last used option among (Run manual or auto) as the settings while loading Dynamo next time or when starting a new file. So the user is not forced to use Auto. Any body want to vote for this idea?

andydandy74 commented 9 years ago

If the default run mode for new files were changed to Manual, that'd be great. I don't have any strong feelings regarding saving the run mode as I barely ever use automatic run mode in any case.

dbaldacchino commented 9 years ago

Thanks Ritesh, that should work.

I tend to turn on Automatic once I have a stable graph, but I can see it being a bit dangerous to have it on by default. for example what if you launch it when the wrong Revit file is active? It could do some serious damage. I also think that rather than just flash for a second when opened, that the Revit file that the graph will control should be made a bit more prominent and stay visible.

dimven commented 9 years ago

+1 I think that the option to save the run state between files is great, but please return the default behavior on a new file to Manual.

kronz commented 9 years ago

Hi all, Thanks for the feedback on run automatic, it’s clear that we need to make some adjustments. The Dynamo team has wanted to make this switch for a very long time and I’d like to say a little about why.

In the meantime, the expected behavior is this:

andydandy74 commented 9 years ago

@kronz - All the user feedback you got here was to please not default to auto run. Which apparently is something you're not prepared to do for, lets say, philosophical reasons. Fine - after all it's your product. But why not make the default run mode something that can be saved as a setting? New users will likely not touch that setting and can use Dynamo in automatic mode as an "exploratory" language the way you're intending. And seasoned users can have Dynamo default to non-automatic execution if they so wish. I remember distinctly how annoying it was before Dynamo could save settings and we had to reconfigure stuff in each new session (turning on/off the console etc.). This (having to switch from auto to manual) is the same thing happening again, only we would now have to do it for each graph, not just once per session.

kronz commented 9 years ago

@andydandy74 , yes, we are working on having both project level and application level settings available as a general "prerences" functionality, and this is a behavior that would be excellent to put in that area.

Some questions,

andydandy74 commented 9 years ago

Preferences - that sounds very good. As to your questions: 1) I hardly ever use Automatic when developing workflows. Basically I only use it in the class room - for which it is awesome btw. 2) No, usually I start with either a) computing stuff or b) retrieving element collections from a Revit model. 3) I work from new files perhaps 80% of the time. 4) Definitely - this is usually the case. 5) No.

ksobon commented 9 years ago
  1. I Disable AutoRun the minute I start Dynamo. That's what this whole fuss is all about. I think Dynamo has an Identity crisis and its trying too hard to be like that "other" visual programming software made by that "other" company. :-)
  2. Sometimes I might. I know what you are getting at, and the issue is not how long it takes for me to crash Dynamo, but its more about that if I had unfortunately saved my file with the AutoRun on and then trying to open it crashes it. Manually changing the text file is not a very user friendly solution. I wouldnt mind there to be a AutoSave which I had already expressed, and in case that my file did crash and it was in the AutoRun state, why not just set up the AutoSave so that it saves after the last successful node evaluation. that will prevent a file from being saved with a problematic node in definition. Also, if for some reason there was still an issue with the file or someone simply wanted to change the state run, lets give users ability to disable solver when opening the file (of course not every time, but after a crash).
  3. I pretty much start a new file every time, but I would love to start from an existing one. Problem is that I can't copy between them so I spend a lot of time working around that issue.
  4. I would do that only because I can't open multiple Dynamo definitions in one Revit session and my way to copy stuff from one to another is to open multiple sessions of Revit and Dynamo so I can see what I was working on previously if I need to borrow from it. It's quite annoying that one would have to do that.
  5. no
dimven commented 9 years ago

Just now I simply forgot (Friday afternoon here and in a hurry to wrap things up and go home) to turn off AutoRun for a simple new graph(about 11-12 nodes) that reads and writes some data to excel and got stuck into an infinite loop. No Revit loaded, just Dynamo 0.8 in Sandbox mode. :(

1) I don't. Usually it's on only when I forget to turn it off. However I do use it a lot when presenting a graphical workflow to somebody - it's really great for that. 2) Rarely. In most of those cases it's usually some python code which most of the times does not get affected by AutoRun. 3) I start a new file about 2/3 of the time. 4) I've never tried it, to be honest. I loosely remember that last time I had Dynamo running along two instances of Revit, I could only open one session of Dynamo.( it was probably back around version 0.74) 5) Nope.

jbenoit44 commented 9 years ago

when you are making your workflows, if you do leave on run automatically, how deep into a brand new file do you get before automatic execution creates lag? 1-never run auto until all is fine; because it freeze at each error Are you immediately placing nodes that create or modify Revit elements? (Say, the first 5 nodes?) 2-no, first 5 usually collect data. How often are you starting a new file versus opening an older "seed" file to create a new workflow based on it? 3-unless it is for an improvement, new 100% Is it a frequent occurrence that you are opening one Dynamo file in multiple Revit files? 4-always Were you ever running into the problem before (0.7.5) of having the application in Run-Auto for a small/lightweight file and opening a big file that was now in run-automatic because of the application level setting? 5-no. run auto is stable only when all is fine. my advice to user is to set Auto when they work on the topic the definition was meant for.

My ideal behavior would be to have dynamo run on events, like save or SWC. should be doable I guess.

sharadkjaiswal commented 8 years ago

I think we have made considerable improvements in the stability and also add few new features to address some of the issues caused by Run Automatic, such as automatic backup, open in manual mode etc. So at this point this may not be a real issue and I am going to close this issue.

If you all still feel that this needs to be addressed please feel free to re-open this with your comments and arguments. Thanks for providing us your valuable feedback.