О важности величины латентности (latency) для аудио-ПК и способах ее оптимизации - Цифровые источники и компьютерные технологии для аудио - SoundEX - Клуб любителей хорошего звука Перейти к публикации

О важности величины латентности (latency) для аудио-ПК и способах ее оптимизации


Рекомендованные сообщения

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

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

Речь пойдет о важном параметре – latency, латентности, «отзывчивости» ПК.

В очень общем виде „latency”, латентность - общий термин, обозначающий, особенно в широко понимаемых системах информатики, всякого рода задержку во время исполнения заданных операций. То есть показатель отзывчивости системы в реальном времени.

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

Так вот для качественного звука с РС необходимо и желательно, чтобы величина этой самой latency была минимально возможной.

Измеряется показатель latency в микросекундах (мкс, µs) - 0,000001 с.

Определить значение latency позволяет очень простая бесплатная программка - The DPC Latency Checker tool.

Программка не требует установки, весит всего несколько килобайт, запускается одним кликом. Показывает значение latency как наглядно на графике, так и цифрами – отображает как текущее значение latency, так и и максимальное за период с запуска замера.

Достаточно плотно познакомившись с вопросом (для дилетанта, конечно), могу сказать, что если пошерстить интернет и специализированные ресурсы и форумы, то необходимого нам подхода к latency там практически нет.

На проф.форумах параметр обсуждается только тогда, когда его величина «зашкаливает» в десятки и сотни раз, что уже приводит к щелчкам, треску, паузах и прочим крайностям в работе с мультимедиа контентом (и как правило означает очень криво подобранный/настроенный софт или железо).

На сайте DPC Latency Checker как раз приводятся примеры как стабильно-нормальной работы ПК:

dpclat1.jpg

Так и пример, в котором видно, что значение Latency скачет до неприличных значений:

dpclat2.jpg

Нам этот второй случай не интересен совсем, как крайний (как я говорил выше, это некая нештатная ситуация, показывающая наличие серьезной кривизны в вашем ПК).

Стандартные средние значения параметра Latency для некоего «сферического компьютера в вакууме» известны, в частности, из статистики, приводимой пользователями в сети интернет. Также известно, что это среднее значение Latency при прочих равных различается для различных операционных систем. В том числе именно поэтому считается, что WinXP для звука может быть интереснее, чем Vista/Win7: в WinXP значение Latency при прочих равных без труда составляет порядка 45µs, тогда как в Win7 это значение насчитывает 100-150 µs.

Отмечу, что на своем аудио-РС с Win7 путем несложных операций мне удалось добиться снижения максимального значения Latency со 130-140µs до 40-50µs в максимуме, при этом текущее значение Latency чаще всего находится на уровне 7-11µs.

Таким образом, мы исходим из того, что для наиболее качественного прослушивания аудиоконтента с ПК важно минимизировать значение Latency, насколько это возможно. Желательно до уровня ниже 30-40µs в максимуме.

Согласно найденным мной в сети отзывам и откликам других пользователей, в том числе тех, кто профессионально работает на ПК в сфере записи звука (в основном именно эти товарищи обсуждают данный вопрос), снижению величины Latency способствуют несколько моментов, которые были мной проверены:

1. Необходимо в BIOS вашего ПК отключить HPET - High Precision Event Timer, таймер событий высокой точности (по умолчанию эта опция в BIOS на современных ПК находится в положении включено, enabled).

2. Необходимо отключить все неиспользуемые устройства в вашем ПК, в том числе набортные на материнской плате: как примеры контроллер гибких дисков (не используете дисковод – вырубите), неиспользуемые порты, встроенный звук и прочее.

3. Не смотря на то, что это можно бы написать в предыдущем пункте, выделю отдельно необходимость отключения неиспользуемых сетевых карт, встроенных в материнскую плату: если у вас 2 порта для сети, используете один – отключайте второй, пустующий; если пользуетесь внешним wi-fi «свистком» - отключайте обе неиспользуемых сетевых карты, и т.д.

4. Очень заметно на минимизацию значения Latency влияет отключение беспроводных сетей, Wi-Fi. Проверял – действительно Latency также снижается, но рекомендовать оставаться без беспроводной сети можно только с известными оговорками: зачастую wi-fi используется для удаленного контроля воспроизведением через всяческие телефоны, планшеты, удаленные ПК и проч. Сам так делаю. Тем не менее, факт проверенный лично: отключаем wi-fi – минимизируем latency.

Теперь о конкретных цифрах, на своем примере.

Имеется ПК следующей конфигурации:

Процессор Intel C2D 3ггц

Материнская плата EVGA780iFTW

Оперативная память Samsung 8 гб

Видео ATI 1300

Жесткий диск Seagate Green 2тб

ОС Win7 SP1 со всеми обновлениями.

kz2xjTGQ.jpg

Как мне кажется, немаловажно, что при четвертом запуске среднее значение Latency стабилизировалось на величине 11-14µs.

Исходя из полученных наблюдений могу сказать, что отключение HPET дает наибольшее и стабильное снижение значения Latency, как максимального, так и минимального значений. Отключение остальных опций также позволяет существенно снизить значение Latency.

Еще одно наблюдение.

Использую уже достаточно известную бесплатную программку для оптимизации OC Windows под прослушивание музыки – Fidelizer. Обсуждалась неоднократно. Программа при своем запуске отключает ненужные для аудио службы и сервисы ОС, действует до перезагрузки ПК.

Так вот, оптимизации, осуществляемые данной программой, никоим образом не влияют на величину Latency, измеряемую DPC Latency Checker. Авторы Fidelizer сами пишут об этом моменте на странице своей программы:

I use DPC Latency Checker but Fidelizer doesn't improve system latency at all. Isn't it scam?

-Graph in system latency shows latency of hardware I/O meaning you're checking hardware latency. Fidelizer will decrease software latency in operating system so DPC Latency Checker isn't capable of checking software latency. You need to test it with other methods. If you want to decrease hardware latency in DPC Latency Checker, try disabling drivers like networking for example.

То есть, DPC Latency Checker показывает величину latency (отзывчивости) только для хардверной, железячной части, вашего ПК. Тогда как работа Fidelizer нарпавлена на оптимизацию «software latency», то есть отзывчивости программного обеспечения, вашей ОС. Увы, о том как измерить этот показатель, авторы Fidelizer фактически не отвечают (мол, сложно):

If DPC Latency Checker is out of the game, how can I measure the difference in scientific way then?

-You'd need high quality hardware and intensive measurement methods to make clear cut. Let's just believe in Microsoft that they didn't make stuff like Multimedia Class Scheduler just to fool pro audio market. If you're really desperate to do so, just try it with your ears, if you're unsatisfied or can't hear the difference, just delete it since it won't cause any changes to your system anyway.

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

Подытоживая все вышесказанное:

- для получения максимально качественного звука с вашего ПК нужно стремиться

к снижению latency, причем как аппаратной (hardware latency), так и программной (software latency).

- для измерения hardware latency можно использовать программу DPC Latency Checker; для снижения hardware latency – в первую очередь в BIOS вашего ПК отключать HPET (другие советы в тексте выше)

- для снижения software latency можно пользоваться программой Fidelizer, или самостоятельно минимизировать количество запушенного программного обеспечения (на сегодня в любом случае советую использовать Fidelizer).

Возможно, эта информация кому-то поможет. Также буду рад, если приведенные сведения конструктивно раскритикуют, поправят и дополнят.

Провел дополнительную серию измерений для того, чтобы понять, как изменится значение latency под интересующей нас нагрузкой, то есть при воспроизведении аудиоконтента. В этих целях запускал одинаковый набор треков формата CD 16/44 на двух аудиопроигрывателях: Foobar2000 и Jplay. Для получения статистически верного результата (более-менее) каждый вариант работы ОС замерялся в течении трех десятиминутных сессий.

ede98949a034108ee2f9d129e18b3446.jpg

Во всех случаях замеры проводились в условиях, равных четвертой серии измерений из первой таблицы в начале темы, то есть: HPET, локальная сеть, Wi-Fi - были выключены.

Из важных моментов, полагаю, следует отметить, что Jplay работал без активации режима гибернации (в нем невозможно осуществить замер).

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 156
  • Создано
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Опубликованные изображения

http://cmp2-mihaylov.narod.ru/ здесь это обсуждалось, ну вдруг не видели и в ветке смр2 :)
Ссылка на комментарий
Поделиться на других сайтах

Latency важно, если клок формирует компьютер. В случае с асинхронным USB влияние параметра latency минимально (или его нет).

Ссылка на комментарий
Поделиться на других сайтах

http://cmp2-mihaylov.narod.ru/ здесь это обсуждалось, ну вдруг не видели и в ветке смр2 :)

Возможно видел )

Но смр2 в целом - не хочу.

Latency важно, если клок формирует компьютер. В случае с асинхронным USB влияние параметра latency минимально (или его нет).

Все устройства для вывода звука по USB, что пока удалось послушать, оказались менее интересными чем правильно приготовленный вывод цифры с Lynx. Клок у меня также формируется НЕ компьютером. А эффект все равно есть.

Но понимаю, что это только мой опыт.

Апдейт: посмотрел еще раз сайт смр2: latency и DPC Latency Checker упоминается, но только мельком.

Предлагаю таки обсудить тему )

Ссылка на комментарий
Поделиться на других сайтах

Да, я понимаю, что решение в виде Adnaco + Lynx — это для сильных духом оптимизаторов, с больших запасом времени и навыков.

В любом случае, спасибо за пост!

Ссылка на комментарий
Поделиться на других сайтах

Да, я понимаю, что решение в виде Adnaco + Lynx — это для сильных духом оптимизаторов, с больших запасом времени и навыков.

В любом случае, спасибо за пост!

Еще хуже: Adnaco + Lynx + IsohroneOCX + внешний ЦАП )

На самом деле, возможно, если бы я сегодня начинал с нуля строить систему для цифрового контента, то приобрел бы тот же Пандору ДАК, и радовался. Но учитывая что некий базис уже есть, смена его на сабж и USB-выход или что-то подобное очень сомнительна.

Ссылка на комментарий
Поделиться на других сайтах

Латенси операционной системы до определенного порога при использовании только в режиме прослушивания фонограммы НИ НА ЧТО НЕ ВЛИЯЕТ. Если ваше железо слабое и запущено множество задач, то в таком случае возможно значение латенси больше критической буферезации и начинаются дропы. Если ваш комп даже пяти летней давности служит для единственной аудио задачи, то при работе с любой частотой дискретизации из доступных вам эта самая латенси до фонаря.

Борьба за снижение до минимума этой самой латенси происходит совершенно по иным причинам. А именно для захвата аналогового сигналла в цифру и обратного вывода в аналог. Это нужно для музыкантов использующих компьютер как синтезатор, микшер и т.д. там важен реалтайм от нажатия виртуальной клавиши на миди клавиатуре пианино или прикосновения к реальной струне гитары до появления звука в колонках. Чем быстрее компы и чустрее цапы и ацп тем латенси снижается. Порог софтверного латенси системы виндоуз 48 семплов. Хоть убейся ниже не получится никак. Это заложено в ядре системы. Хотя те же RME заявляют в своих последних продуктах хардверную латенси своих приборов порядка 18 семплов но обращает внимание специалистов именно на параметры операционки WIN7.

Друзья.

Соберите недорого современный компьютер, упакуйте его в красивый кузов. Подключите по USB современный 2010-2011 интерфейс от любого профи производителя и получите конфету.

Не согласны.

Почитайте внимательно форумы гда на косточки разбирают профи девайсы и ПО. Там советы по системам вменяемые и дельные и объясняется все не с точки зрения лженауки аудиофилии а профессионально с спецификациями и даташитами.

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

Ссылка на комментарий
Поделиться на других сайтах

Прямо в тему... Как раз занимаюсь сменой железа для уменьшения этого самого Латенси.

Сегодня привезли материнскую плату.

Завтра жду процессор.

На моем текущем железе (мать- ASUS MB AT3IONT-I DELUXE с Атомом "на борту") Латенси не опускается ниже 500 µs.

Так что... надеюсь на лучшее :)

Заметил, что несмотря на Аднако (коей доволен на все 100), "здоровый" компьютер - большое дело...

Ссылка на комментарий
Поделиться на других сайтах

Да это не теория это практика владения множеством всего разного.

Ссылка на комментарий
Поделиться на других сайтах

Использую ноут (условно называю его "новый") с портативной звуковой картой RME Babyface.

Планирую сделать из "старого" ноута чистый плэйер (типа музПК), но для этого необходимо будет сначала купить

третий ПК (пока не знаю, какой именно) для жены. На старый ноут планирую установить урезанную (геймерскую) версию WinXP и самый минимум миниморум программ.

Проблемой латентности заинтересовался вплотную, ибо при работе браузером (любым) нагрузка процессора на новом ноуте подскакивает до 100% и звук в Фубаре прерывается.

Один косяк я уже устранил - отключил Wi-Fi и красные выбросы в DPC исчезли.

Также в Диспетчере отключаю все ненужные сервисы (после запуска Fidelizer-a) и выставляю приоритет Фубара в "Реальное время". Железо такие изголения должно тянуть легко - двухядерный Intel с частотой 2.4 ГГц и 4 Гб ОЗУ на борту.

Обязательно попробую отключить HPET, отпишусь. Спасибо за наводку. :)

От себя добавлю: если кто пользуется Фубаром (я пока ничего лучше не нашёл, многие аудиофильские плэйеры либо не запускаются на Win7, либо в упор не видят драйвера RME) - настоятельно рекомендую 2 утилиты -

FlacWavLoader + Sox Options.

http://www.mikegalusha.com/

Данная утилита FWL сначала конвертирует FLAC-и в PCM-ы (вавники) и загружает их во временную папку, созданную Вами. Потом потрэково загружает их в ОЗУ и автоматом запускает Фубар.

Разницу слышно отчётливо.

Ссылка на комментарий
Поделиться на других сайтах

посмотрел еще раз сайт смр2: latency и DPC Latency Checker упоминается, но только мельком.

Все правильно. В системе cMP2 DPC Latency Checker используется исключительно как начальный тест на корректность установки ОС и драйверов, а также отсутствие проблем с железом. Не уверен, что "повышенное" (до определенного предела, конечно) значение латентности может ухудшить звук само по себе.

Добавлю, что включение сетевой карты в сетевой конфигурации cMP2 не изменяет латентность по сравнению с конфигурацией cMP2 с отлюченной сетевой картой (в моей системе 9-10 мкс без выбросов).

А wi-fi конечно же должен быть отключен на музПК, думаю, что всегда можно найти возможность подключить музПК к роутеру сетевым кабелем.

Ссылка на комментарий
Поделиться на других сайтах

2 Narayan:

1. Необходимо в BIOS вашего ПК отключить HPET - High Precision Event Timer, таймер событий высокой точности(по умолчанию эта опция в BIOS на современных ПК находится в положении включено, enabled).

--------

Я у себя в BIOS такого не нашёл.

Ссылка на комментарий
Поделиться на других сайтах

2 Narayan:

1. Необходимо в BIOS вашего ПК отключить HPET - High Precision Event Timer, таймер событий высокой точности(по умолчанию эта опция в BIOS на современных ПК находится в положении включено, enabled).

--------

Я у себя в BIOS такого не нашёл.

у ноутов бибос обычно убогий.....

Ссылка на комментарий
Поделиться на других сайтах

По моим наблюдениям важна не величина, а стабильность.

Inter всё правильно пишет.

Ссылка на комментарий
Поделиться на других сайтах

По моим наблюдениям важна не величина, а стабильность.

Inter всё правильно пишет.

на самом деле, думаю, что всё взаимосвязано.

ПК - как человчесекий организм, где железо - это тело, а софт - Душа.

Ссылка на комментарий
Поделиться на других сайтах

По моим наблюдениям важна не величина, а стабильность.

Важна _стабильно низкая величина_ )

Ссылка на комментарий
Поделиться на других сайтах

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

Для нас важна стабильность заполнения буфера данных, чтобы конвейер по пережевыванию

цифры работал равномерно.

Ссылка на комментарий
Поделиться на других сайтах

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

Для нас важна стабильность заполнения буфера данных, чтобы конвейер по пережевыванию

цифры работал равномерно.

я пока ниже, чем 150 "температуру" сбить не могу.

Ссылка на комментарий
Поделиться на других сайтах

настоятельно рекомендую 2 утилиты -

FlacWavLoader + Sox Options.

http://www.mikegalusha.com/

Данная утилита FWL сначала конвертирует FLAC-и в PCM-ы (вавники) и загружает их во временную папку, созданную Вами. Потом потрэково загружает их в ОЗУ и автоматом запускает Фубар.

Разницу слышно отчётливо.

Не запустилось у меня ( При декоде на середине выдает ошибку (и целый список отсылок к каким-то dll .... - ничего в этом не понимаю)

Ссылка на комментарий
Поделиться на других сайтах

Не запустилось у меня ( При декоде на середине выдает ошибку (и целый список отсылок к каким-то dll .... - ничего в этом не понимаю)

загружали трэки на кириллице?

Ссылка на комментарий
Поделиться на других сайтах

загружали трэки на кириллице?

неа

Ссылка на комментарий
Поделиться на других сайтах

неа

попробуйте другие трэки.

загружать надо не "сue", а отдельные трэки (песни).

при работе с хай-резами не забывать выбирать правильную битность в Sox.

Ссылка на комментарий
Поделиться на других сайтах

попробуйте другие трэки.

загружать надо не "сue", а отдельные трэки (песни).

при работе с хай-резами не забывать выбирать правильную битность в Sox.

все так и пробовал. видно что-то не так встало. поробую переставить позже.

а для чего sox?

Ссылка на комментарий
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в теме...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...