Как устранить зависание скрипта?

Автор
Сообщение
На сайте c 26.08.2013
Сообщений: 7

Вопрос к тем кто занимается написанием скриптов на 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

Читают эту тему: