Уехал на море !)))
Blog

Оптимизация работы FL studio

Купив новый мощный ноутбук с Core i7 Q740 на борту, естественно, первым делом решил проверить его на нагрузку тяжелым музыкальным проектом, сделанным на десктопе с Core2Duo 2.8 гГц. И тут же оказалась глубоко разочарован - выигрыша в производительности не обнаружилось никакого вовсе. А на некоторых проектах все оказалось даже хуже - хрипение, шипение и булькание даже там, где на Core2Duo звучит еще довольно сносно. А самое любопытное - разница в показаниях загрузки процессора. На индикаторе FL загрузка 80%, тогда как по данным Монитора ресурсов Windows - всего 10-15%.

В чем же дело? Кривой FL, не умеющий работать с многоядерными процессорами, особенно новыми Core i7? Или в чем-то другом? Озадачившись этими вопросами, провел целый день в непрерывном гуглении, чтении заумных статей и проведении практических экспериментов. Цельной, полной и непротиворечивой информации найти нигде не удалось, хотя подобные проблемы оказались озвучены в сети во множестве. И не только касательно FL, на официальном форуме Sonar, например, было встречено то же самое. Пришлось собирать все по крупицам и выстраивать собственный алгоритм настройки. Проблема оказалась вполне решаемой!

Подготовка.

Прежде чем приступить к решению проблемы - собственно, оптимизации работы FL - необходимо предпринять некоторые предварительные шаги, если они не были предприняты ранее. А именно - получить полный административный доступ к своей же системе, иначе выполняемые настройки могут не дать никакого эффекта. Если в учетной записи, под которой вы входите в систему после приобретения свеженького компьютера с Windows 7, значится "Администратор" - то это ничего не значит. Этот якобы "администратор" по умолчанию работает в режиме "необходимости одобрения" (или как-то так), от некоего супер-администратора, учетная запись которого по умолчанию вообще скрыта и ниоткуда никак не доступна .

Решить эту проблему можно двумя путями. Самый простой: зайти в Панель управления/Учетные записи пользователей/Изменение параметров контроля учетных записей. В открывшемся окне обнаружится вертикальный "ползунок", который необходимо сдвинуть в положение "Никогда не уведомлять". И нажать ОК. Все.

Но если вдруг это окно или этот ползунок окажутся недоступными, или просто захочется более радикального решения, то нужно выводить учетную запись суперадминистратора на чистую, так сказать, воду. И сдвигать этот ползунок в положение "Никогда не уведомлять" из под этой учетной записи. Делается это так.

Из Старт-меню/Все программы/Стандартные/ запускаем Cmd (командная строка).
В командной строке пишем:

net user администратор /active:yes

и жмем enter.

Теперь перезагрузка... и на окне входа помимо основной учетной записи должна появиться учетная запись натурального администратора.
Чтобы отключить ее появление после выполнения нужной настройки контроля учетных записей, нужно точно так же запустить командную строку и вбить туда

net user администратор /active:no

Все, нужные права, слава богу, получены.

Решение, часть 1.

Проблема первая, она же главная. Так называемая "парковка ядер" (или "парковка процессоров", в оригинале "core parking"). Взглянув на "Монитор ресурсов" нетрудно заметить, что система использует из всех 8-ми виртуальных ЦП только несколько, остальные же - запаркованы и не используются (на картинке их 4 на 4).

Теоретически считается, что при увеличении вычислительной нагрузки, система должна сама автоматически активировать "спящие" ядра. Однако, практически, этого не происходит. Вероятно потому, что шипение, кряхтение и булькание при воспроизведении в FL начинается намного раньше, чем система решит, что нагрузка уже достаточно возросла. А может быть и вообще никогда не решит - в такие тонкости уже не вдавался. У меня сама ни разу не решала .

Нас такая ситуация, естественно, не устраивает. Мы хотим, чтобы FL были доступны ВСЕ имеющиеся ядра. Слава богу, решение есть: нужно отключить парковку ядер. Причем, лучше всего сделать это так (особенно на ноутбуках), чтобы можно было быстро включить обратно. И вообще - быстро и легко переключаться между режимами с включенной парковкой и выключенной. Парковка ядер - довольно хороший и нужный механизм, обеспечивающий энергосбережение и защиту от перегрева, и отказываться от его использования совсем - не слишком разумно.

По умолчанию, через визуальный интерфейс, сделать этого нельзя. Придется лезть в реестр (с полными правами администратора, естественно - для чего и нужна была вышеописанная подготовка) и менять два значения в двух ключах.
А именно, в ключе:

HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583

в значении Attributes вместо 1 поставить 0.
И в ключе:

HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\ea062031-0e34-4ff1-9b6d-eb1059334028

тоже в значении Attributes вместо 1 поставить 0.

В результате, эти два параметра настроек парковки ядер - соответственно "Минимальное число ядер в состоянии простоя" и "Максимальное число ядер в состоянии простоя" станут доступными для изменения из визуального интерфейса Windows управления электропитанием, где они по умолчанию, само собой, недоступны. Больше ничего при этом не изменится. Чтобы изменить, нужно, собственно, и воспользоваться этим самым визуальным интерфейсом.

Идем в Панель управления/Электропитание. Там по умолчанию находится несколько планов электропитания. Целесообразно оставить текущий активный план без изменений, или для обычной работы на компьютере выбрать план "Сбалансированный". А отключать парковку ядер, например, в плане "Высокая производительность". Или вообще создать отдельный, специальный план электропитания для работы с музыкой. Вызов окошка "Электропитание" можно затем закрепить в Старт-меню Windows и переключаться с одного плана на другой в два клика мыши, когда начинается/заканчивается работа с музыкой.

Теперь, в выбранном (или созданном) для работы с музыкой плане электропитания кликаем ссылку "Настройка плана электропитания", вследствие чего открывается окошко, на котором находим и кликаем ссылку "Изменить дополнительные параметры питания", вследствие чего открывается окошко, которое нам и нужно, наконец (см. картинку).

В этом окошке находим раздел "Управление питанием процессора", раскрываем его и видим примерно то, что на картинке. Нам нужно изменить параметры в разделе "Минимальное число ядер в состоянии простоя". В пункте "От сети:" поставить значение 100%. Если хочется, чтобы быстрее садилась батарея, то можно и "От батареи:" тоже поставить 100%, но это вряд ли целесообразно .

Раздел "Максимальное число ядер в состоянии простоя" мы сделали видимым только для контроля, чтобы там не оказались случайно по умолчанию значения меньшие, чем мы выставили в "Минимальном". Открываем это "Максимальное число ядер в состоянии простоя" и убеждаемся, что в "От сети:" там тоже стоит 100%. Если не стоит - ставим. Жмем ОК, все закрываем. Теперь почти все ОК!

Решение, часть 2.

Запускаем FL, запускаем Диспетчер задач, идем на вкладку "Процессы", правым кликом на "FL.exe" устанавливаем Приоритет - либо Высокий, либо вообще Реального времени. (см. Прим. 1)

Дальше, там же, нужно проверить, доступны ли FL все ядра. У меня, по умолчанию, оказались доступны. Но... мало ли, лучше проверить. Точно так же, правым кликом в списке процессов по "FL.exe" кликаем "Задать соответствие", проверяем, все ли процессоры заданы, и если не все, то задаем все.

Ну и последнее, самое простое - и единственное, что делается в самом FL.
Меню - Options - Audio settings. Делаем активными пункты "Multi threaded generator processing" и "Multithreaded mixer processing"

 

Наслаждаемся .

P.S. Надобно отметить, что индикатор загрузки процессора в FL все равно будет работать криво и показывать цифры, отличные от показываемых в Диспетчере задач или Мониторе ресурсов. Решения этой проблемы пока не нашел. Но оно и не принципиально, пока никак не влияет на звук .

Прим. 1. Теоретически, можно создать в папке с FL файл запуска, например FLStart.cmd, написать в нем

START /D "C:\Program Files\Image-Line\FL Studio 9" /REALTIME FL.exe

и в дальнейшем запускать FL с помощью этого файла сразу с приоритетом реального времени. Но этот трюк вот именно с FL почему-то не работает. Почему - пока не знаю.
© Jurgen

(Copypast tv-22.ru )

6 ▲
11 March 2012 14:27

Comments

  • +1
    Theory of chaos  11 March 2012 14:36 #
    Майкрософт всё сделал через зад. Пляски с бубном для нормальной работы с зашпатлеванными наполовину функциями мультитрединга. Ставим server 2008 и получаем энджой.
    •  
      Mals  26 December 2013 5:23 #
      так фрутик же до сих пор 32-битный
  •  
    Splashwell  11 March 2012 14:42 #
    )))
  • +1
    Green Heads  11 March 2012 14:53 #
    такая же хрень на ренойзе 99% в программе и всего 60 в таск менеджере..
  •  
    CJ Raiden  14 March 2012 17:18 #
    Класс! Жаль у меня одноядерник)))
  •  
    Misha Just  31 January 2015 9:20 #
    полезно, спасибо!)
Please, register (it is quick and easy!) or sign in, to leave comments and do much more fun stuff.