Smart disable и многопоточность в FL Studio: настройки, которые реально снижают нагрузку
Проект с десятком инструментов начинает трещать на ноутбуке, хотя процессор загружен наполовину.
Причина обычно в том, что обработка идёт не туда и не так: часть плагинов молотит вхолостую, часть висит на одном ядре.
Две настройки, которые дают эффект
Руководство Image-Line по оптимизации называет две основные:
- Multithreaded generator processing и Multithreaded mixer processing — распределение нагрузки по ядрам;
- Smart disable — отключение неактивных плагинов.
Обе включаются в настройках аудио, но работают по-разному.
Многопоточность: три условия
Здесь главный подвох. Документация: чтобы плагин реально обрабатывался в несколько потоков, опция должна быть включена в трёх местах:
- в настройках аудио (глобально);
- в меню обёртки плагина — Allow threaded processing;
- в дополнительных настройках обёртки — Processing → Allow threaded processing.
По умолчанию все три включены. Если хотя бы одна выключена, плагин считается однопоточным — и один тяжёлый инструмент начинает тормозить весь проект.
Генераторы и микшер отдельно
Это две независимые опции, и это удобно для диагностики.
Multithreaded generator processing распределяет нагрузку инструментов.
Multithreaded mixer processing распределяет нагрузку эффектов и микшера.
Практика: если трещит при игре на виртуальном синтезаторе — смотрите первую опцию; если при сведении, когда много эффектов на шинах, — вторую.
Smart disable
Smart disable останавливает обработку плагина, когда он не издаёт звук.
Документация: это может заметно снизить нагрузку на процессор в некоторых проектах.
Ключевое уточнение: опция работает только с теми обёртками, у которых включён собственный переключатель Smart disable. Глобальная настройка лишь разрешает поведение, но не включает его каждому плагину.
Макрос для всех плагинов
Именно поэтому глобальной галочки недостаточно.
Документация: нужно выполнить Tools → Macros → Switch smart disable for all plugins. Макрос включает переключатель в обёртке каждого плагина.
Формулировка из документации: неактивные переключатели Smart disable глобальная опция не включает, поэтому макрос нужен, если требуется отключение всех плагинов в простое.
Практика: после установки новых плагинов макрос стоит прогнать повторно.
Когда Smart disable мешает
Некоторые плагины плохо переносят отключение и ведут себя непредсказуемо при повторном включении.
Документация: для отдельного плагина поведение отключается снятием галочки Allow smart disable в настройках обёртки.
Практика: если после паузы инструмент «заикается» на первой ноте, это как раз тот случай.
Важный нюанс про рендер
Документация прямо говорит: Smart disable активен только во время живого воспроизведения и временно отключается при рендере.
Отсюда практический вывод: экспорт может идти медленнее, чем играет проект. Это нормально и не означает ошибку настроек.
С чего начинать, если трещит
Порядок, который экономит время:
- Посмотрите на индикатор CPU в панели FL Studio.
- Проверьте буфер в настройках аудио.
- Прогоните макрос Smart disable.
- Отключите многопоточность у одного плагина и сравните.
- Только затем меняйте буфер и частоту дискретизации.
Практика: шаг 4 чаще всего и находит виновника — плагин, который некорректно работает в многопоточном режиме.
Плагины, которые не любят многопоточность
Документация предупреждает: некоторые сторонние плагины работают хуже при включённой многопоточной обработке, и звук становится рваным.
Для таких плагинов рекомендуется отключить Allow threaded processing и сохранить состояние обёртки для этого типа плагинов.
Смысл сохранения: настройка применится и в будущих проектах, без повторной правки.
Порядок в большом проекте
Сначала архитектура. Меньше параллельных тяжёлых синтезаторов — меньше проблем.
Затем заморозка. Отрендеренные партии не грузят процессор.
Потом настройки. Многопоточность и Smart disable помогают, но не отменяют тяжёлый проект.
Обратный порядок — крутить галочки в проекте с двадцатью ревербами — даёт разочарование.
Что не поможет
Отключение всех эффектов. Проект станет пустым, а не быстрым.
Максимальный буфер на этапе записи. Добавит задержку.
Отключение многопоточности целиком. Вернёт всё на одно ядро.
Как читать индикатор CPU
В панели инструментов FL Studio есть индикатор загрузки процессора.
Практика: если он близок к пределу, а диспетчер задач показывает половинную загрузку, дело не в «слабом ноутбуке», а в том, что работа сосредоточена на одном ядре. Это типичный симптом выключенной многопоточной обработки у конкретного плагина.
Обратная картина — индикатор дёргается короткими всплесками при каждом нажатии клавиши — говорит о тяжёлом инструменте с большим временем атаки, а не о нехватке ядер.
Заморозка вместо настроек
Когда проект уже собран и перегружен, быстрее помогает не тюнинг галочек, а рендер тяжёлых партий.
Практика: отрендерьте инструмент в аудио, отключите оригинальный канал и сравните загрузку. Часто одного такого шага хватает, чтобы проект снова играл без треска, а неидеальная многопоточность перестаёт иметь значение.
Держите исходный канал в отдельной группе и выключайте его, а не удаляйте: вернуться к правкам можно в любой момент.
Один плагин — один эксперимент
При диагностике меняйте только одну настройку за раз.
Практика: сначала макрос Smart disable, прослушивание, затем отключение многопоточности у подозрительного плагина, снова прослушивание. Если менять всё сразу, вывод «стало лучше» ничего не объясняет и не переносится на следующий проект.
Что записать в заметки проекта
Полезно сохранить рядом с проектом короткую записку: какие плагины требуют отключённой многопоточности и где стоят замороженные партии.
Практика: при возврате к проекту через месяц вы не будете вспоминать, почему конкретный синтезатор звучит иначе. Одна строка в текстовом файле рядом с .flp снимает этот вопрос.
FAQ
Где включить многопоточность?
Options → Audio settings, там же, где буфер.
Сколько условий нужно для многопоточного плагина?
Три: глобальная настройка и две в обёртке.
Что делает Smart disable?
Отключает обработку неактивных плагинов.
Одной галочки в настройках достаточно?
Нет, нужен макрос Switch smart disable for all plugins.
Работает ли Smart disable при экспорте?
Нет, при рендере он временно отключается.