Вопрос к тем кто занимается написанием скриптов на maxscript - как устранить временное зависание системы при нормальной работе скрипта.
Вот простейший тестовый скрипт - некий длинный цикл отображается в progressbar. При первом запуске этого срипта на 2-й секунде происходит зависание системы и весь progressbar идет коту под хвост. Но уже при повторных запусках все отображается как надо - в течение примерно 20 секунд наблюдаем приращение. То есть система подключает какие-то свои параметры и все работат без зависания.
Вопрос такой - какие параметры нужно добавить в скрипт, чтобы сразу работало без зависания. Ведь работает же к примеру render без зависания, просто долго считается и в любой момент можно прервать процесс по кнопке escape.
Перечислю все что я перепробовал: gc() - не помогает, heapSize+=50000 - не помогает, heapfree - уменьшается и автоматически добавляется самой системой, escapeEnable=true - бесполезно, поскольку когда зависло, ничего не доступно.
Вот тестовый скриптик
rollout progressTest "Progress Test"
(
button doit "Process Scene" pos:[0,0]
progressbar progr color:red
on doit pressed do (
for i=1 to 100000 do(
proc=(100.*i/100000) as integer
progr.value = proc
)
)
)
createDialog progressTest 200 80