Интересное
  • Виктор
  • Статьи
  • 3 мин. чтения

Задержка Windows — как уменьшить при работе со звуком и музыкой

Кроме той задержки (latency), которую создают в цифровой музыкальной студии драйвер аудиокарты, музыкальное ПО (DAW), подключенные плагины и т. п., существует еще и другие задержки всей системы. Часть из них происходит в ОС Windows, включая задержки работы драйверов USB-портов, сетевых карт и т. п.

Задержку Windows можно уменьшить, применив некоторые, фигурально выражаясь, «хаки». Относительная тонкая настройка ОС, способна ощутимо увеличить производительность цифровой музыкальной студии, центром которой является компьютер. О ней сегодня и пойдет разговор.

Внимание! Весь материал ниже упрощен, собран и написан музыкантами для музыкантов, а не инженерами для айтишников. Использовать эту информацию нужно на свой страх и риск, предварительно создав точку восстановления системы.

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

Что такое прерывания (IRQ), и причем тут аудио

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

Команды софта «железо» компа обрабатывает последовательно, несмотря на многоядерность центральных процессоров и частичную параллельную обработку. Просто делает это с огромной скоростью. И пользователю лишь кажется, что он взаимодействует со своей рабочей средой в real-time.

Каждое нажатие кнопки мыши, клавиши на клавиатуре, midi-контроллере, кручение ручки в виртуальном синтезаторе, движение ползунка на пульте в DAW заставляет компьютерные устройства прерывать исполнение программ на микро- и наносекунды. Потому что происходят внешние по отношению к ПО события, оно получает новые данные, а их требуется учесть. В том числе прерывается работа драйверов.

Прерывания (IRQ) в большей степени используются как раз драйверами периферийных устройств (например, USB аудио карт), а также устройств, встроенных в материнскую плату, видеокарт, и т. п.

При наступления события (допустим, мы куда-то ткнули мышкой) управление всей нашей сложной компьютерной системой передается специальной процедуре под названием «Обработчик прерываний» (ISR, Interrupt Service Routine).

Когда действия, вызванные вмешательством пользователя, бывают закончены, обработчик отдает управление обратно работающему программному обеспечению (скажем, нашей DAW).

События, запускающие «Обработчик прерываний» могут исходить и от самого софта. Обычно это требуется для обращения программ к драйверам и операционной системе. То, как именно прерывания (IRQ) обрабатываются в системе, влияет на задержку ее «отклика» на действия пользователя.

Почему из-за обработки прерываний возникает задержка, и что такое DPC latency

В Windows управление обработкой прерываний реализовано так, что сам обработчик выполняет лишь критично необходимые операции. Все остальные операционная система выстраивает в очередь при помощи особого механизма. Он называется Deferred procedure call (DPC) — «отложенный вызов процедуры».

В частности, в очередь встают многие задачи драйверов. И на их исполнение и продвижение «по цепочке» тратится драгоценное время. Если механизм DPC не отлажен, то на компьютере, используемом для звукозаписи и музыкального продакшна, могут возникать заметные уху задержки и даже пропадания звука, хрипение, щелчки и прочие артефакты.

Причин для высокой задержки (latency) в процессе отложенного вызова процедуры может быть миллион. Например:

  • в системе установлены не самые подходящие драйверы для одного или целого ряда устройств; 
  • система использует современные экономные режимы управления питанием — все эти «ожидания», «засыпания», понижения тактовых частот ядер CPU при маленькой нагрузке (или наоборот — большой нагрузке и перегреве); 
  • система использует современный таймер HPET или «динамическое» время (отвечает за счет времени «внутри» ОС) — с плавающим значением, из-за этого прерывания происходят несколько хаотично и задержка растет; 
  • на одно устройство компьютера и периферии выделен малый лимит прерываний…

 Всё это и кое-что другое мы и попытаемся пофиксить.

Как узнать величину DPC задержки на своем компе. Бесплатная программа LatencyMon

Протестировать свою систему можно с помощью специального софта. Например, LatencyMon Home Edbtion. Эта программа в «реальном времени» выполняет диагностику пригодности компьютера для работы со звуком. В идеале нам нужно получить в ней надпись, выполненную зеленым цветом, «Your system appears to be suitable for handling real-time audio and other tasks without dropouts» («Похоже, ваша система способна обрабатывать аудио в реальном времени и другие задачи без сбоев»).

LatencyMon следует запускать после перезагрузки Windows и небольшого ожидания, позволяющего ОС подгрузить все драйверы и службы. Никакие приложения при тесте не должны быть запущены. Программе нужно дать 5 минут на тестирование. В процессе измерения на главном экране она покажет (в микросекундах):

– текущую зафиксированную задержку;
– наивысшую зафиксированную задержку;
– наивысшую задержку «Обработчика прерываний» с указанием драйвера, который за нее ответственен;
-наивысшую задержку отложенного вызова процедуры (DPC) с указанием драйвера или ПО, которые ее вызывают.

После остановки теста можно перейти на вкладку Drivers и увидеть, какие из них какую задержку вносят. То же касается вкладок CPUs и Processes — служб Windows, приложений работающих в фоновом режиме и т. п.

На проблемных компьютерах с неоптимизированной ОС Windows LatencyMon выкатит главный экран с красной надписью, гласящей примерно следующее: «У вашей системы проблемы с обработкой аудио в реальном времени, возможны «заикания» и щелчки».

Также в ней может содержаться сообщение о том, какой именно драйвер создает критичную задержку. Заодно LatencyMon способна посоветовать отключить в BIOS (UEFI) режим «троттлинга» процессора — снижения тактовой частоты ядер для защиты от перегрева или вырубить Wi Fi адаптер.

 

Обычно это тестовое ПО помогает вычислить виновника наибольшей задержки системы. Например, им может оказаться неудачный драйвер для конкретного устройства, который установила сама ОС. Или модифицированный драйвер, скачанный с сайта, имеющего дурную репутацию.

Лечение большой задержки системы без «опасного» шаманства с Windows. Драйверы и режимы экономного питания

Нередко пофиксить слишком большую DPC latency можно без особого вмешательства в работу ОС. Например, проблему может решить установка подходящих драйверов именно от производителей оборудования (включая встроенного в материнскую плату).

Если вы не знаете, что за сетевые, звуковые и прочие устройства работают на «матери», то в «Диспетчере устройств» Windows докопайтесь до их идентификаторов (device ID), обычно состоящих из неудобоваримых наборов цифр, букв и специальных знаков. Вооружитесь поисковиком и ищите драйверы по ID оборудования.

Второй шаг: отключение режимов сберегающего электропитания. Маленькая экономия денег на оплату электричества не стоит потраченных нервов при проблемной работе с аудио на компьютере. Часто эта экономия в принципе не окупается — особенно у профессионалов.

Ведь современные смешанные режимы электропитания (особенно на ноутбуках) на некоторое время могут вводить аппаратные устройства в кратковременное состояние «сна», затем им приходится «просыпаться», отсюда — возникновение ненужных задержек.

Внимание! Компьютер должен быть обслужен в смысле избегания перегрева – пыль вычищена; кулер на CPU установлен в соответствии с тепловыделением конкретной модели процессора; мощность блока питания подобрана в точности под потребности установленных в ПК устройств; корпус и видеокарта нормально охлаждаются и т. п.

Итак, сначала стоит отключить троттлинг CPU в BIOS (UEFI). Моделей материнских плат на свете существует целый зоопарк, ищите именно в вашем BIOS все, что связно с CPU throttling, вырубайте это и сохраняйте настройки.

Затем в Windows разумно было бы активировать «Схему управления питанием с высокой производительностью». (Панель управления —> Система и безопасность —> Электропитание).

Также стоит запретить некоторым устройствам, в том числе USB портам, уходить в «спящий» режим. Это можно сделать в «Диспетчере устройств». Нужно зайти в «Свойства» каждого значимого девайса, перейти на вкладку «Управление электропитанием» (если она есть) и там снять галочку в строке «Разрешить отключение этого устройства для экономии энергии». Эта настройка доступна, скажем, для сетевых адаптеров и корневых USB-концентраторов.

Дополнительные шаги.
Увеличивать DPC задержку могут: брандмауэр Windows (отключаем и просто не ходим на сомнительные сайты); необязательные приложения в «Автозагрузке» (чистим ее); драйвер встроенной в материнскую плату аудио карты (отключаем в BIOS/UEFI); приложение Bonjour от Apple (оно обычно попадает на компьютер при установке Apple iTunes для Windows и Apple iCloud для Windows. На компе, предназначенном для производства музыки, без этого ПО можно обойтись — удаляем).

Нередко проблемы с DPC задержкой вызывает драйвер Wi Fi устройства. Вообще-то, в большинстве случаев заходить в Интернет с компа, на котором производится звукозапись, можно и «по проводам». Wi Fi адаптер, в случае когда он есть – девайс, конечно, модный и молодежный, но не является необходимостью. Его тоже можно отключить.

Еще один потенциальный виновник большой задержки — устаревшая версия DirectX. Качаем новую и устанавливаем.

Снижение задержки Windows «по харкору»

Отключение таймера HPET («динамического времени» внутри ОС). Запускаем «Командную строку» от имени администратора. Пишем команды:


bcdedit /set disabledynamictick yes

bcdedit /set useplatformtick yes

Перезагружаемся.

Фиксируем разрешение таймера на значение 0,5 ms. Для этого потребуется бесплатная утилита Intelligent Standby List Cleaner. Качаем, устанавливаем, запускаем. Далее вводим следующие параметры

Start ISCL minimized and auto-Start monitoring — включено (стоит галочка);
Launch ISCL on user logon (TaskSheduler) — включено;
Enable custom timer resolution — включено;
Wanted timer resolution — устанавливаем на 0.50

Вот как должны выглядеть настройки:

 

Далее — обязательная перезагрузка.

Увеличиваем лимит количества прерываний для USB Host Controller и видеокарты. Этот шаг необязательный, но может ускорить отклик всей системы. Для его выполнения понадобится бесплатная утилита MSI Util v3.

Почему шаг необязательный? Потому что последние драйверы устройств от именитых производителей уже используют режим прерывания MSI, в котором на каждый девайс выделен ресурс не в 4, как раньше, а в 32 прерывания. Однако не у всех комп построен на «железках» от фирм-лидеров. Скажем, сейчас в России многие покупают видеокарты от китайских компаний, и с ними «не все так однозначно» 🙂

После запуска MSI Util, ищем в списке видеокарту и USB Host Controller — по названию или ID оборудования. В столбце MSI ставим для них галочку. Приоритет прерывания (Interrupt priority) устанавливаем в значении «высокий» (high). Вот как это выглядит в интерфейсе утилиты:

 

Внимание! Нельзя включать режим MSI для всех-всех устройств, они могут начать работать некорректно.

Далее — снова перезагрузка…

Особо рисковые и увлеченные твикерством пользователи могут провести еще два «шаманских» действия (необязательных и требующих внесения изменений в реестр Windows):

1. Приоритизацию прерываний
2. Приоритизацию драйверов.

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

Также можно провести назначение работы драйверов USB Host Controller и видеокарты на ядра CPU, отличные он первого («нулевого»), на который Windows обычно сваливает обработку вообще всех драйверов. Этому поможет утилита Inrerrupt Affinity Policy Tool от Microsoft.

Однако эта программа давно не обновлялась, доступна только в Интернет-архиве Web.archive.org и может вызывать ошибки при выполнении. Как ею пользоваться, можно узнать в том же гайде по оптимизации Windows 10. Но стоит ли рисковать с этим связываться или не стоит — решать вам.

Смелые и умелые могут назначить выполнение драйвера звуковой карты на отдельное ядро CPU, отличное от первого — при условии, что карта в принципе отображается в списке устройств.

Заключение. Снова тестируем систему с LatencyMon

После некоторых или всех манипуляций, описанных выше, пора еще раз запустить тест с LatencyMon. Если пофиксить задержку удалось, мы увидим значения наибольших зафиксированных задержек DPC и «Обработчика прерываний» меньше, чем в 1000 микросекунд или менее 1 миллисекунды. Это отличный результат, который означает, что наше музыкальное ПО будет работать под Windows заметно быстрее.

Владимир Лакодин


Source: https://oaoo.ru/balalayka/zaderjka-windows-kak-ymenshit-pri-rabote-so-zvykom-i-myzykoi.html

Межтекстовые Отзывы
Посмотреть все комментарии
guest

Комбоусилители для электрогитар

Если вы думаете, что с приобретением электрогитары ваш музыкальный шопинг закончился, вы глубоко ошибаетесь. Электрогитара имеет цельный деревянный...

Дополнительные струны: сколько и зачем?

Сегодня мы поговорим о необычных для большинства музыкантов гитарах. Когда изучил свою шестиструнную гитару вдоль и поперек и...

Как и где хранить гитару?

Если вы любите ваш инструмент и дорожите им, стоит задуматься об условиях его хранения. Хотите, чтобы ваша гитара...

Все о микшерных пультах

Микшерный пульт. Что это? Это устройство, основная задача которого – суммирование нескольких звуковых сигналов в один. Но современные...

Двенадцатиструнная гитара – двойное удовольствие

Когда долгое время играешь на гитаре, со временем хочется попробовать что-то новое, разнообразить свое творчество. Тогда на помощь...

Улучшаем акустику помещения без вложений

Вы установили дома хорошую акустическую систему, а результат вас не радует? Музыка звучит глухо или, наоборот, резко, речь...

Гитара для ребенка

Ваш ребенок решил, что он будет играть на гитаре. Или вы так решили. С какого возраста можно приступать...

DAW: история создания и развития

В каждой современной студии звукозаписи, будь она домашней или профессиональной, должна быть DAW (Digital Audio Workstation) – цифровая...

Частота звукозаписи — лучше побольше, сведение в наушниках — норм, и другие музыкальные мифы. Часть 1

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

Все о ламповых микрофонах: история, особенности использования

В этой статье мы расскажем о ламповых микрофонах: устройстве, принципе работы, отличиях от других видов, причинах популярности, особенностях...

Понижение строя гитары

Многие опытные гитаристы, экспериментируя со звучанием своего инструмента, пытаются получить более низкий, тяжёлый звук с ярким рояльным оттенком,...

Протоколы передачи цифрового аудио

Технологии не стоят на месте, тем более цифровые. Со временем назрела необходимость передачи аудио сигналов между различным цифровым...

Как создать полностью мобильную iOS-студию

Если раньше под «мобильной студией» имели в виду в первую очередь портастудию с возможностью записи на кассеты или...

«Анатомия» акустической гитары

Данная статья будет полезна начинающим гитаристам или тем, кто только собирается им стать. Если вы музыкант-самоучка, то многие...

Как начать писать музыку на компьютере: все, что вы хотели знать, но боялись спросить

После долгого изучения инструмента и бессонных ночей, проведённых за сочинением своих композиций, вы решили, что настало время записать...

Выбор и особенности применения петличных микрофонов

Сегодня, мы поговорим о популярной в последнее время тематике – петличные микрофоны.      Как видно из названия,...

VST барабаны в электронной музыке: как сделать мощно

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

История барабанных установок с двумя бочками

Двойная бочка (double bass drum) или два бас-барабана в ударной установке – что это: способ выделиться или заставить...

Лазеры: шоу начинается!

В настоящее время сложно кого-то удивить световыми шоу с использованием лазерных эффектов, они становятся всё популярнее во всем...

Электрогитары: о чем вы хотели знать, но стеснялись спросить

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