Render.ru
Поддержать

Лекарство от геморроя: Автобекап без зависания программы

Филипп Писаревский

Активный участник
Рейтинг
18
Изменено: 1 #1
Не знаю, насколько актуальна тема для вас, господа, но у меня стоит автобекап каждые 5 минут, потому что программа вылетает довольно часто. Для маленьких сцен этот процесс проходит незаметно: все сохраняется за пару секунд. А для сцен от 50 мегабайт начинается лютый ад. Каждые 5 минут программа зависает на минуту. Это невероятно бесит.

Так вот, ловите лекарство. Скрипт будет сохранять файл рядом с оригиналом с приставкой "bk" каждые 5 минут в фоновом режиме. Чтобы запускалось само при старте, надо положить скрипт в scripts/startup в папке с программой где-то в Program Files.

Проверял только у себя на Windows 8.1 x64 и 3ds Max 2015. Если кто может помочь в доведении кода до кондиции, приглашаю принять участие.

Вложения

Fedotov

Знаток
Рейтинг
40
Филипп ПисаревскийКаждые 5 минут программа зависает на минуту.
Вот чего еще не кто не писал, так это скрипт для выключения макса ))

Вложения

  • 158,4 КБ Просмотров: 431
Рейтинг
145
FedotovВот чего еще не кто не писал, так это скрипт для выключения макса ))
С таким интервалом автосохранения проще просто отключить и перед сложными процедурами вручную сохраняться.

Fedotov

Знаток
Рейтинг
40
Андрей ШаймардановС таким интервалом автосохранения проще просто отключить и перед сложными процедурами вручную сохраняться.
У меня это по дефолту, а перед сложными процедурами не просто сохраняю, а делаю резервный файл (сохранить копию как) не раз попадал. Написать такой скрипт конечно дело хорошее, в качестве тренинга, чтоб скучно не было.
Рейтинг
145
Филипп ПисаревскийНе знаю, насколько актуальна тема для вас, господа, но у меня стоит автобекап каждые 5 минут, потому что программа вылетает довольно часто. Для маленьких сцен этот процесс проходит незаметно: все сохраняется за пару секунд. А для сцен от 50 мегабайт начинается лютый ад. Каждые 5 минут программа зависает на минуту. Это невероятно бесит.

Так вот, ловите лекарство. Скрипт будет сохранять файл рядом с оригиналом с приставкой "bk" каждые 5 минут в фоновом режиме. Чтобы запускалось само при старте, надо положить скрипт в scripts/startup в папке с программой где-то в Program Files.

Проверял только у себя на Windows 8.1 x64 и 3ds Max 2015. Если кто может помочь в доведении кода до кондиции, приглашаю принять участие.
Круто, работает на 3ds Max 2017. Классно ещё, что пишет в ту же папку, где и оригинал. Автосейвы теперь не треплют нервы.

Филипп Писаревский

Активный участник
Рейтинг
18
FedotovВот чего еще не кто не писал, так это скрипт для выключения макса ))
Вы, может, чего не поняли, но скрипт фоном файлы сохраняет, а не подвешивает программу на неопределенное время
Рейтинг
112
Филипп ПисаревскийВы, может, чего не поняли, но скрипт фоном файлы сохраняет, а не подвешивает программу на неопределенное время
не против, если сошлюсь на твой скрипт Вконтакте?

Олег

Активный участник
Рейтинг
14
Народ, а есть что-то подобное для maya?

Отправлено с моего A0001 через Tapatalk

Филипп Писаревский

Активный участник
Рейтинг
18
Олег Павлов 141297Народ, а есть что-то подобное для maya?

Отправлено с моего A0001 через Tapatalk
А там разве автосейв не в фоне?

Олег

Активный участник
Рейтинг
14
Филипп ПисаревскийА там разве автосейв не в фоне?
Нет, не в фоне. Если сцена тяжёлая, то приходится ждать, когда она сохранится. А описанный здесь принцип очень интересен. Знаю, что в maya тоже есть такие файлы.

Отправлено с моего A0001 через Tapatalk

Филипп Писаревский

Активный участник
Рейтинг
18
http://help.autodesk.com/view/MAYAUL/2015/ENU/?guid=Python_Python_and_threading
Теоретически, в maya есть Python Threading, но, как пишут в документации,
Maya API and Maya Command architectures are not thread-safe. Maya commands throw an exception if they are called outside the main thread, and use of the OpenMaya API from threads other than the main one has unforeseen side effects.
Поскольку сохранение - это команда OpenMaya API, то может вылететь. А может и не вылететь, это надо проверять, в общем.