Падает или зависает
Упало. CrashAutoSave и безопасный режим, Backup, где лежит .dmp, как поймать исчезновение и зависание, и как строить проект, чтобы падение никто не заметил.
Падает TouchDesigner редко и обычно в неудобный момент — на правке или под нагрузкой. Но на этот случай в нём кое-что предусмотрено.
Почти при любом сбое он успевает записать CrashAutoSave.имя_проекта.toe
рядом с проектом. Этот файл открывается в безопасном режиме:
ничего не кукается, можно пройти по сети и убрать виноватое. File → Save,
переоткрыть — и проект снова обычный. Безопасный режим включают и руками:
любой .toe, переименованный в CrashAutoSave… (скажем,
CrashAutoSave.show.12.toe), откроется так же — спасение для проекта,
который падает на загрузке.
При каждом сохранении номер в имени растёт, а прошлая версия переносится в
Backup — Файл проекта и версии. С медиа по
относительным путям копию из Backup перед открытием поднимают в папку
проекта. Автосохранения по таймеру нет, между сохранениями спасает только
CrashAutoSave.
| Причина | Как выглядит |
|---|---|
| Внешняя библиотека Python | Падение молча, часто на первом вызове |
| Чужие numpy или OpenCV | Падения через время — Внешние модули и окружения |
| Кончилась видеопамять | Чёрное, потом падение — Память видеокарты |
| Драйвер | Под нагрузкой, «драйвер восстановлен» |
| Шейдер GLSL | На компиляции или первом кадре |
| Битый медиафайл | На открытии — Не читает файл |
| Чужой плагин, C++-оператор | Сразу после создания узла |
| Камера, плата, MIDI | На подключении или отключении |
Поиск
Textport (Alt+T) — что напечаталось перед падением. Edit → Preferences → General → Show Startup Errors выводит при запуске окно с ошибками,
а при желании и с предупреждениями. Отчёт на Windows — .dmp в папке
проекта, на macOS — «Консоль», Crash Reports. Процесс просто исчезает —
запускают TouchDesigner из WinDbg (Microsoft Store) и ждут, пока отладчик
поймает сбой. Завис — в диспетчере задач правый щелчок по процессу,
«Создать файл дампа памяти»; на macOS — Spindump из «Мониторинга системы».
Дальше половинное деление флагом Cooking до минимального случая
и проверка на свежей сборке — Сборки и обновления.
О повторяемом падении пишут в Derivative — support@derivative.ca или
форум: минимальный .toe без внешних файлов (медиа можно запереть Lock),
шаги и .dmp, архивом .zip.
Падение без последствий
Нейросети, чужие плагины и библиотеки запускают в Engine
COMP с Reload on Crash — падает движок, шоу идёт.
Watchdog поднимает упавший проект
сам. Состояние лежит во внешнем файле, и после перезапуска шоу продолжается с
того же места. Во время разработки — сохраняться часто.
Падает обычно на правке. Неизбежную правку делают в копии, проверяют и подменяют, а шоу крутят в TouchPlayer.
Последняя рабочая версия, лежащая отдельно, — самая дешёвая страховка в профессии.
Нашли в статье ошибку, устаревшее или непонятное место?