[Closed] Intense calculations and window lockup
What would be a solution to keep the 3ds Max window alive without Windows 7 from overdrawing it being inactive when long calculations in maxscript are going on?
I update the viewport with a message in the bottom corner (pushPrompt) but that doesn’t prevent the 3ds Max window going blank if you click it although after calculations are done, all is fine again.
Is this a Windows 7 thing that can’t be bypassed?
Thanks a lot,
Davy
I have the same issue, i have windows7 and max2011 and when my long script run the “print” or “format” string are written in the listener for some second, after, max no longer writes but when the script are completed max write in the listener all unwritten strings…
Also with a progress bar there are the same issue.
I delete some “print” or “format” and i noticed that max write in the listener for more time…
I thinks is a problem of windows7 what considers the execution time of the script as the “dead time” of the program and it thinks it has locked…
(sorry for English)
Yes, it is Windows 7 that overdraws a program when it is not responding fast enough.
I hope it is something you can switch off in Windows 7?
Otherwise what is possible to make max send a live signal so it won’t happen?
Cause the pushPrompt writes down info but since Windows 7 overdraws or shift the interface, it’s out of sight.
Davy
Have you already found a solution for this issue? Because I am fighting with this as well.
No, I don’t think there is a solution other than trying to disable this feature in windows 7 somehow. Cause it’s windows who decides if a program is responding or not (I guess).
I will reply if I find a solution cause it’s so annoying. I really can tell for myself if a program hangs or not
Davy
There are two ways you can get around this…
[ul]
[li]Use the main progress bar whilst the script is running e.g. progressStart, progressUpdate and progressEnd.[/li][/ul]
[ul]
[li]Use a timer control to execute discrete functions/calculations on each tick. It really depends on what you’re doing as to whether you can use this method but it can work well.[/li][/ul]Cheers,
Paul
no he means THE master of progress bars. The one that appears below the frame range when something is calculated. It works very well. Thanks a lot!
I tried the timers, but they did not give any results.
cheers,
marcus
The problem I have found with the progressbar is that it makes scripted rollouts disappear to never show up again. Maybe in the latest version this is fixed, but I haven’t used it since. Good tip though, thanks!
-Johan
Johan, I found other issues with progressbar “but” I found a workaround where you simply call the progressUpdate (not too frequently) “without” using progressStart and progressEnd. That way the progressUpdate is keeping 3ds Max from getting inactive without calling the progressbar system.
I use the pushPrompt to update the status instead.
It works perfect so far
Davy
What i did to override this problem is execute the intense calculation into another thread, so max does not get locked, you can do this with .NET and it does not work with everything, but you can try, also you can creat more than 1 thread to multithread your script, but this works with even less things, one more time, you can try.
Search around this forum for this, LoneRobot published an article about this.
Cheers.
I did the same as what he mentions, it works perfect when executing it this way.
Takes some work, but it get’s the job done.
The disappearing rollout bug is a pain. I’m still on 2009 so I don’t know if they’ve fixed it in later versions. Dot net forms however, do not disappear.
I’ve not had a chance to try out multi-threading, what sort of things don’t work with multi-threading?
Cheers,
Paul