Настройки на WASAPI латентност в Windows: Пълно ръководство

Последна актуализация: 12/12/2025
Автор: Isaac
  • Закъснение на звука в Windows Зависи от аудио двигателя, размера на буфера и драйверите.
  • Windows 10 въведе подобрения в WASAPI и AudioGraph, за да постигне ниска латентност в споделен режим.
  • Съвременните драйвери могат да декларират малки буфери и да си сътрудничат с IAudioClient3, за да намалят периодичността.
  • Избирай добре железария, шофьори А API (ASIO, WASAPI, AudioGraph) е ключов за балансиране на латентността, стабилността и качеството.

Конфигуриране на латентност в WASAPI

Ако работите с аудио в Windows, рано или късно ще се сблъскате с... WASAPI латентността и вечното сравнение с ASIO и WASAPIВсеки, който записва в DAW, стриймва на живо, играе онлайн игри или създава музика, знае, че няколко милисекунди забавяне могат да съсипат дубъл, да десинхронизират гласа или да превърнат играта в истинско изпитание.

В Windows 10 и по-нови версии, Microsoft значително подобри аудио стека си и днес е възможно да се постигне... много по-ниски латентности с WASAPI в споделен или ексклузивен режимбез да се жертва звукът на браузъра или други приложения. Ключът е да се разбере как работи стекът, какво се е променило, какви хардуерни ограничения налагаме и какви параметри можем да коригираме (като потребители или разработчици), за да извлечем тези допълнителни милисекунди.

Какво е аудио латентност и защо е толкова важна?

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

En музикална продукция и запис, инструменталистът се нуждае да се чуе почти мигновено по време на свиренеАко всяка нота се връща през слушалките за десетки милисекунди, мозъкът започва да се бори с това, което чува и което чувства, и поддържането на ритъма се превръща в истинско изпитание.

En стриймингВ подкастите и видео разговорите латентността може да причини Несъответствия между видео и аудио, досадно ехо и усещане за „говорене със стена“Забавянето на собствения ви глас в слушалките с няколко милисекунди напряга говорещия, причинява препъване и звучи неестествено за слушателя.

За геймърите, особено за тези, които харесват шутъри, състезателни игри или VR изживявания, a Бавният аудио отговор означава липса на ключови звукови сигнали (стъпки, изстрели, сигнали) или забележите, че действието на контролера и звукът не са синхронизирани, което нарушава потапянето; в тези случаи е полезно да се научите да измерване на латентността във видеоигрите и действайте съответно.

В по-технически план обикновено се прави разлика между латентност при възпроизвеждане, латентност при заснемане, латентност при двупосочно предаване и латентности, свързани с докосване (Например, докосване на екрана и чуване на звуков отговор). Всички те се сумират и е полезно да ги разбираме, за да знаем накъде сме се запътили. време.

Видове латентност в аудио пътя

В аудио стека на Windows се използват няколко концепции за Опишете закъсненията на всеки етап от пътуването на звука.Това не е просто академичен въпрос: всеки тип латентност има различни причини и различни начини за смекчаването ѝ.

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

Латентността на заснемане, междувременно, е времето, необходимо на звука, заснет от микрофона, да достигне до приложениетоТова варира от момента, в който звукът влезе в преобразувателя, премине през интерфейса, контролера и аудио двигателя, докато софтуерът може да прочете този блок от данни.

Така наречената латентност при двупосочно пътуване е сумата от двете: Заснемане, обработка в приложението и възпроизвеждане през високоговорителитеТова е този, който наистина взема връх в сценарии като мониторинг в DAW, където свирите, сигналът преминава през компютъра и се връща към ушите ви.

Освен това, в сензорните интерфейси често се говори за латентност от докосване към приложение и латентност от докосване към звук: времето между докосването на екрана, обработката на събитието и реакцията на системата със звукЗа виртуални инструменти или приложения За творци на таблети или конвертируеми компютри с Windows, тази верига трябва да бъде възможно най-къса.

уасапи

Как се сглобява аудио стекът на Windows

Под WASAPI, ASIO и други подобни, Windows има аудио стек с централен енджин, който смесва потоци, прилага ефекти, преоразмерява формати и комуникира с контролеритеРазбирането на този път помага да се види къде се печели и губи латентност.

В процеса на възпроизвеждане, приложението записва аудио в буфер, предоставен от API. Аудио двигателят на Windows чете тези данни, обработва ги (включително ефекти под формата на APO или аудио обекти за обработка) и, след като са готови, ги записва в друг буфер, който драйверът ще използва за изпращане към хардуера.

Латентността, свързана с тези APO Зависи от обработката, която извършват (еквализация, шумопотискане, 3D ефекти и т.н.)Колкото по-сложен е алгоритъмът и колкото по-голямо количество състояния трябва да натрупа, толкова повече семпли ще трябва да съхрани в буфер и толкова по-голямо е забавянето.

Преди Windows 10, простото преминаване през аудио двигателя, добавен наоколо 12 ms с данни с плаваща запетая и около 6 ms с възпроизвеждани целочислени данниОт Windows 10 насам тази част е драстично оптимизирана и сега е около 1,3 ms, независимо от типа на данните.

След обработка, двигателят поставя резултата в буфер, чиято дължина също има пряко влияние. В предишни системи този буфер беше фиксиран на около 10 msВ съвременните версии, аудио драйверът може да декларира различни поддържани размери и да позволява по-малки стойности, като например 2-3 ms.

Нещо подобно се случва и при заснемане, но в обратен ред: Хардуерът приема сигнала от микрофона.Можете да прилагате ефекти (AGC, ехо-анулиране и др.), контролерът записва тези данни в буфер, а аудио енджинът ги събира и обработва със собствени APO, преди да ги предостави на приложението.

  Какво е WINUX: Linux със свободна душа и външния вид и усещането на Windows

В по-старите версии аудио енджинът добави някои функции за заснемане 6 ms за данни с плаваща запетая и практически 0 ms за цели числаОт Windows 10 насам този принос е намален до степен да е практически незначителен. Въпреки това, буферите от страна на драйвера и хардуера все още допринасят за общата сума.

Съществува и режим на ексклузивен аудио стек. Ако дадено приложение отвори крайна точка в ексклузивен режим, Той заобикаля смесителния двигател и комуникира директно с хардуерния буфер.Това допълнително минимизира латентността, но с недостатъка, че никоя друга програма не може едновременно да използва това входно или изходно устройство.

ASIO, ексклузивен режим и защо WASAPI се е подобрил толкова много

В продължение на години, обичайният начин за постигане Ниската латентност в музикалното производство означава използване на ASIO или устройства в ексклузивен режим.С ASIO, DAW комуникира почти директно с драйвера на производителя на интерфейса, без системния миксер между тях.

Проблемът е, че този подход има своите недостатъци: Обикновено изисква специфични драйвери от трети страниСофтуерът трябва да е подготвен да комуникира с този API и като цяло системният звук (браузър, игри, плейъри) се пропуска или трябва да се прибегне до сложни решения, за да се насочи към него.

Междувременно, ексклузивният режим на WASAPI предлагаше нещо подобно: Потокът на приложението отива почти директно към устройствотоНо отново, останалите приложения губят достъп в този момент и това не е точно най-удобното нещо, когато искате да смесите DAW с YouTube видео, Discord и т.н.

За да се избегне налагането на избор между латентност и гъвкавост, Microsoft Windows 10 подобри споделения стек, за да намали тази латентност, дори без да преминава в ексклузивен режим.Двигателят е направен по-лек и най-вече е добавена възможността за договаряне на по-малки размери на буферите между приложението и драйвера.

Освен това има специален режим за управление на ресурсите: когато приложението започне да работи с много кратки буфери, Windows приоритизира нишките, свързани с този аудио поток и предотвратява прекъсването на обработката от други системни задачи в критични моменти.

Настройки на WASAPI латентност за потребители на DAW и стрийминг

От гледна точка на крайния потребител, WASAPI се представя като една от опциите за аудио устройства в много DAW и програми за записВ Reaper, например, е обичайно да се видят сравнения между латентностите на ASIO и WASAPI (както в ексклузивен, така и в споделен режим).

В някои случаи преминаването от ASIO към ексклузивно WASAPI води до дори по-ниска латентност, отколкото с ASIO драйвера на производителяПри условие че хардуерът и драйверът за Windows са правилно конфигурирани, това не е най-често срещаната ситуация, но може да се случи и когато се случи, е разбираемо, че потребителят не би искал да се върне към ASIO.

Въпреки това, при преминаване към споделен WASAPI, те може да се появят изкривявания, щракания или артефакти при възпроизвеждане или записване на аудио от DAWДокато останалите системни звуци (браузър, игри) се възпроизвеждат без проблеми, това обикновено се дължи на несъответствия във форматите, прекалено агресивно буфериране или принудителни преобразувания.

Един от типичните конфликти възниква, когато системата принуждава устройството да работи в различен формат на битовата дълбочина от този, който реално се поддържа от интерфейсаНапример, WASAPI представя 24 бита в диалоговия прозорец на DAW, докато в звуковия панел на Windows картата предлага само 16 бита при всичките си честоти на семплиране.

В тези случаи, за да се избегнат изкривявания в споделения WASAPI, е препоръчително да се проверят звуковите опции на Windows. битовата дълбочина и честотата на семплиране, зададени по подразбиранеи се уверете, че DAW използва формат, съвместим с това, което интерфейсът действително поддържа.

В други контексти, като например записване на гласови съобщения с микрофон USB В прости приложения или в инструменти като Audacity, WASAPI се използва най-вече за заснемане на собственото аудио на системата или изхода на миксера на Windows, вместо да се постигне минималната възможна латентност.

Латентност, буфери и човешко възприятие

Латентността обикновено се измерва в милисекунди и на практика се счита, че Под около 10 ms забавянето е практически незабележимо за повечето хораМежду 10 и 20 ms започва да се забелязва при чувствителни задачи, а над това време става очевидно досадно.

Когато слушате себе си през слушалки, докато говорите, всяко Латентност, по-голяма от 10 ms, започва да генерира усещането за „вътрешно ехо“.Ако достигне 30 или 40 ms, повечето хора се объркват, спират да говорят или в крайна сметка си свалят слушалките.

В същото време, цифровите аудио сигнали се описват от честота на семплиране (в Hz) и размер на буфера (в семплирания)За справка, 44 100 Hz означава, че формата на вълната е разделена на 44 100 семпла в секунда; 48 000 Hz прави същото с 48 000 семпла и така нататък.

Буферът е вид малко хранилище за данни, през което циркулира аудиото. Колкото по-голям е, толкова по-голям е маржът на безопасност срещу пикове или прекъсвания на процесора.Но това се случва с цената на добавяне на милисекунди към общата латентност. Ако я намалите твърде много, системата ще трябва да се събужда по-често, за да я запълни, и ще е по-податлива на сривове или проблеми.

Следователно, когато настройвате устройство в DAW или стрийминг приложение, обичайната дилема е изборът... размер на буфера, който е достатъчно малък, така че забавянето да не е забележимоно не толкова, че да започне щракане или изпускане по време на реална работа.

Как да намалим латентността на звука в Windows, използвайки WASAPI

За да се подобри работата с WASAPI и като цяло с аудиото в Windows, има редица мерки, които трябва да бъдат приложени или поне прегледани, както на хардуерно, софтуерно, така и на системно ниво.

  Пет от най-добрите 4K уеб камери за висококачествени видеоконференции

Първото нещо е да се уверите, че Аудио хардуерът (интерфейс, интегрирана карта, USB микрофони) и неговите драйвери са правилно инсталирани и актуални.Много от подобренията за ниска латентност в Windows 10 разчитат на DDI и свойства, които присъстват само в съвременните драйвери; Диагностициране на латентността с LatencyMon и откриването на проблеми с драйверите е препоръчителна практика.

В музикалната област нормата остава да се използва взаимодейства с качествени ASIO драйвери при работа с DAW, виртуални инструменти или сложни миксовеASIO все още предлага фин контрол върху размера на буфера и обикновено е стабилен, ако компютърът е предназначен за аудио и не е натоварен от овърклок или паралелно изпълнение на тежки задачи.

В стрийминга и игрите обаче ASIO става непрактичен, защото Повечето приложения (игри, OBS, браузъри) изтеглят драйвери от оригиналните драйвери на Windows. (DirectSound, WASAPI). При смесване на тези източници е за предпочитане да се остане в рамките на родната екосистема на операционната система.

Едно правило, което рядко се проваля, е Избягвайте свързването на повече устройства и програми, отколкото е необходимо, в сигналния пътВсяко аналогово-цифрово преобразуване, всяка стъпка през процесор за ефекти или всеки преход от едно приложение към друго добавя малко забавяне и риск от несъответствия.

Например, говоренето в XLR микрофон, свързан към специален интерфейс с директно хардуерно микширане, не е същото като преминават през micro USB кабел, софтуерен чейнджър за глас, виртуален аудио рутер и USB геймърски слушалкиВъв втория случай, сумата от стъпките неизбежно води до пик на латентността.

Закъснение и специфични подобрения в Windows 10 и по-нови версии

Microsoft не само е усъвършенствала аудио двигателя в Windows 10; тя е добавила и механизми за... Приложенията и драйверите си сътрудничат, за да намалят латентността при двупосочно предаване без напълно да се жертва гъвкавостта на споделения стек.

Първо, дори без промяна на кода, много приложения са виждали намаление между 4,5 и 16 ms в латентността при двупосочно предаване в сравнение с Windows 8.1просто поради вътрешни оптимизации на двигателя. Тези, които използват данни с плаваща запетая, печелят най-много.

Второ, ако системата има актуализирани драйвери, те могат обявяват по-малки размери на буферите от класическите 10 msТова позволява на приложения, които се нуждаят от ниска латентност, да договарят стойности от 5 ms, 3 ms, 1 ms и т.н., както при възпроизвеждане, така и при заснемане.

Освен това, когато дадено приложение започне да работи с много малки буфери, Windows активира режим на управление на ресурсите, който дава приоритет на аудио подсистемата: защитава нишките на двигателя, драйвера и приложенията, маркирани като критично аудио, за да се минимизират прекъсванията и повреди.

Всичко това означава, че ако разработите приложение, което изисква бърза реакция, Можете да разчитате на новата инфраструктура да се постигнат много ниски латентности, без да се жертва споделеният режим, при условие че хардуерът го поддържа.

AudioGraph: модерният API за създаване и мултимедия

AudioGraph е универсалният API на Windows платформата, предназначен за интерактивни сценарии за създаване на музика с по-лесен за ползване слой абстракция които работят директно с WASAPI. Предлага се на C++, C#, JavaScript и други .NET езици.

За целите на ниска латентност, AudioGraph предоставя свойство, наречено AudioGraphSettings::QuantumSizeSelectionMode, което ви позволява да укажете дали искате размера на буфера по подразбиране на системата, най-ниската възможна латентност или конкретна стойност, близка до желаната.

Може да се конфигурира да използва размера на буфера по подразбиране (около 10 ms), така че да избира минимум, поддържан от аудио драйвераили да се опита да се доближи до броя на пробите, желани от приложението във всеки квант на обработка.

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

AudioGraph също така обработва управлявайте аудио нишките вътрешно с приоритетСледователно, разработчикът не е необходимо изрично да избира MMCSS или да работи директно с опашки в реално време, за да се възползва от режима на ниска латентност на системата.

WASAPI и IAudioClient3: фино управление на периодичността

За всеки, който има нужда от това повече контрол на ниско ниво, специфични функционалности или дори по-ниски латентности от тези, постигнати от AudioGraphMicrosoft разшири WASAPI с нов интерфейс: IAudioClient3, производен на вече познатия IAudioClient2.

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

На практика това позволява на приложението да определи кои размери на буферите са допустими (кратни на фундаментален период между минимум и максимум) и Изберете конкретна стойност, която балансира стабилността и латентността според вашите нужди.

С IAudioClient3 можете също да укажете, че потокът използва форматът, зададен от приложението, без повторно семплиране в двигателяпри условие че устройството поддържа точно този формат. Това избягва междинни преобразувания, които могат да добавят сложност и леки забавяния.

Освен това, Microsoft препоръчва WASAPI приложенията, които изискват ниска латентност, да създават своите задачи за обработка чрез опашката за работа в реално време (опашка за работа в реално време) или опашките на Media Foundation, като ги етикетират като „Аудио“ или „ПроАудио“, вместо да стартират собствени теми без координация.

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

Необходими са подобрения в драйверите с ниска латентност

Компонентът на потребителския софтуер е само половината от историята. За да може една система наистина да работи с буфери от няколко милисекунди при условияАудио контролерите също трябва да свършат своята част.

  Как да използвате Windhawk за инсталиране на модове на Windows стъпка по стъпка

Започвайки с Windows 10, драйверите могат да декларират чрез специфични свойства какво... абсолютният минимален размер на буфера, поддържан във всеки режим на обработкаТази информация включва общи ограничения и специфични ограничения за режим по подразбиране, режим на кино и др.

Например, контролер може да определи, че абсолютният минимум е 2 ms, но в режим на обработка по подразбиране ефективният размер е 128 семпла при 48 kHz (около 3 ms). Аудио стекът спазва тези ограничения и никога няма да се опита да слезе под посочения минимум.

Освен размера на буфера, има DDI-та, които улесняват контролера да докладва точно. коя част от буфера е свободна или пълна, предоставете точни времеви отметки въз основа на брояча на производителността и в някои сценарии да изтеглят данни по-бързо от реално време, ако сте натрупали информация вътрешно.

Тези възможности са особено полезни в проекти със сложни цифрови сигнални процеси (DSP) или нетривиални преноси на данни между паметта и хардуера, където Позицията на потока и вътрешната латентност зависят от няколко междинни блокаИзчисляването на времевия печат трябва да вземе предвид тези фиксирани закъснения, за да може системата правилно да подравни данните.

И накрая, за да може Windows адекватно да защити аудио подсистемата в сценарии с много ниска латентност, Шофьорите трябва да регистрират своите стрийминг ресурси в PortClsпрекъсвания и собствени нишки, използвани за гарантиране на потока от данни.

Тази регистрация може да се извърши, когато драйверът е зареден или по време на изпълнение, и е задължително това всички контролери във веригата за стрийминг участват по един или друг начин. В стекове с HDAudio шина, например, част от тази работа се извършва от самия контролер на шината, докато минипортът регистрира свои собствени нишки.

Инструменти и техники за измерване на латентността в Windows

За да се определи дали промените в WASAPI и драйверите действително дават резултати, е обичайна практика да се измерва Латентност при двупосочно предаване, използваща тестови импулси, възпроизвеждани през високоговорители и записвани от микрофонСофтуерът изчислява закъснението между предаването и приемането и ако забележите микро-скъсявания, си струва да проверите как... измерване на латентността на DPC конкретно.

Тази методология позволява сравняване на различни размери на буферите, режими на работа и версии на драйверите, при условие че аудио устройството приемане на необходимите малки буферни диапазониВ противен случай системата евентуално ще се върне към стандартните 10 ms; за по-задълбочен анализ можете да научите как да анализирайте Windows в дълбочина с WPR/WPA.

В системи със стандартен HDAudio хардуер, Универсален драйвер за входящи съобщения на Microsoft за HDAudio Актуализиран е, за да поддържа размери на семплите между 128 семплирания (приблизително 2,66 ms при 48 kHz) и 480 семплирания (10 ms при 48 kHz). В някои случаи инсталирането на този генеричен драйвер може да е полезно за тестване.

Процесът включва отваряне на Мениджър на устройстванамерете устройството, което представлява вътрешните високоговорители, и принудително инсталиране на „Устройство за аудио с висока разделителна способност“ на Microsoft. вместо кодека на производителя. След рестартиране системата ще използва този генеричен драйвер за тази крайна точка.

Препоръчително е да отбележите кой драйвер е бил използван преди това, за да можете да отмените промяната, ако е необходимо. Въпреки че драйверът на Microsoft е полезен за експериментиране с малки размери на буфера, Версията на производителя обикновено предлага качество на звука или специфични функции, по-съобразени с хардуера..

WASAPI, AudioGraph и практически разлики в латентността

Въпреки че и двата API-та разчитат на един и същ аудио енджин, на практика AudioGraph и WASAPI не винаги се държат еднакво по отношение на латентносттадори при използване на същите основни размери на буферите.

По дизайн, AudioGraph добавя буфер за латентност от страната на заснемане за синхронизиране на възпроизвеждането и записаТова значително опростява кода на приложението, защото гарантира, че и двата маршрута са подравнени, но добавя няколко милисекунди.

В пътя на възпроизвеждане, когато системата използва буфери с размери по-големи от около 6 ms, AudioGraph може да въведе друг буфер за безопасност, отново с идеята да се предложи модел на програмиране стабилен и предвидим за сметка на малко допълнителна латентност.

WASAPI, от друга страна, предоставя маршрута с по-малко абстракция. Това предполага повече ръчна работа за разработчикаВ замяна обаче, това ви позволява да увеличите максимално намаляването на латентността при определени условия, особено в споделен режим с ниска честота и с IAudioClient3.

Освен това, за разлика от AudioGraph, WASAPI позволява Управлявайте по-подробно ефектите от заснемането, използването на обработка на сурови данни и координацията с други API, като например Media Foundation, което отваря вратата към специфични оптимизации в професионални проекти.

Във всички случаи препоръката на Microsoft е ясна: Не използвайте режима за обработка на сурови изображения лекомисленоДеактивирането на OEM ефектите може да подобри латентността, но също така може да доведе до по-малко оптимизирани сигнали за възпроизвеждане или формати на заснемане, които са трудни за обработка от приложението.

Ако съберем всички тези части заедно, става ясно, че пътят към опитомяването на Настройки за латентност на WASAPI Това включва задълбочено разбиране на стека на Windows, поведението на вашия хардуер и наличните API. Само тогава можете да определите точно къде се печели (или губи) всяка милисекунда и да настроите фино конфигурацията, за да отговори на нуждите на всеки тип приложение, без да жертвате стабилността или качеството на звука.

След инсталирането на Windows 11 няма звук.
Свързана статия:
Няма звук след инсталиране на Windows 11: окончателно ръководство