Як уключыць 3D-гук у гульнях у Windows 7/8/10

Як уключыць 3D-гук у гульнях у Windows 7/8/10
Мусіць практычна ўсім вядома, што з вынахадам Windows Vista яшчэ ў 2007 году, а ў след за ёй і ва ўсіх наступных версіях Windows гукавы API DirectSound3D быў выдалены з Windows, замест DirectSound і DirectSound3D сталі выкарыстоўвацца новыя API XAudio2 і X3DAudio. З прычыны чаго ў старых гульнях сталі недаступныя гукавыя спецэфекты ЕАХ (гукавыя эфекты навакольнага асяроддзя). У гэтым артыкуле я раскажу, як вярнуць той самы DirectSound3D/EAX ва ўсе старыя гульні, якія падтрымліваюць дадзеныя тэхналогіі гуляючы на ​​Windows 7/8/10. Вядома, дасведчаныя геймеры ўсё гэта ведаюць, але магчыма камусьці артыкул будзе карысны.

Старыя гульні не сышлі на звалку гісторыі, наадварот яны карыстаюцца вялізным попытам, як у карыстальнікаў старэйшага пакалення, так і ў малодшага. Старыя гульні лепш глядзяцца на сучасных маніторах з высокім дазволам, для шматлікіх гульняў выходзяць моды якія паляпшаюць тэкстуры і шэйдары, але вось са гукам спачатку не павезла. З выхадам наступнага пакалення Windows Vista, услед за Windows ХР, распрацоўшчыкі Microsoft злічылі, што DirectSound3D маральна састарэлы - ён меў абмежаванне ў 6-канальны гук, не падтрымліваў сціск гуку, быў працэсарна залежным і таму яму прыйшоў на змену XAudio2/X3DAudio. А так як тэхналогія ЕАХ кампаніі Creative была не самастойным API, як быў у свой час A3D ад кампаніі Aureal, а ўсяго толькі пашырэннем DirectSound3D – гукавыя карты кампаніі Creative апынуліся за бортам. Калі не выкарыстоўваць адмысловыя праграмныя врапперы, то гуляючы на ​​Windows 7/8/10 у старых гульнях пункты меню ўлучальныя EAX будуць не актыўныя. А без EAX гук у гульнях будзе не такім сакавітым, аб'ёмным, пазіцыянуемым.

Для вырашэння гэтай праблемы кампанія Creative распрацавала праграму-ўрапер ALchemy, якая перанакіроўвае выклікі DirectSound3D і EAX у кросплатформавы API OpenAL. Але гэтая праграма працуе афіцыйна са гукавымі картамі кампаніі Creative і то не зусім мадэлямі. Напрыклад, сучасная карта Audigy Rx мелая апаратны DSP-працэсар СА10300 афіцыйна не працуе. Для ўладальнікаў іншых гукавых карт, напрыклад убудаванай Realtek, трэба выкарыстоўваць яшчэ праграмны-драйвер Creative Sound Blaster X-Fi MB, які каштуе грошай. Можна яшчэ паспрабаваць родную праграму 3DSoundBack, але яна не была скончаная кампаніяй Realtek – спынілася на стадыі beta версіі, працуе не якасна і не з усімі чыпамі. Але ёсць спосаб лепш, ён прасцей у выкарыстанні і бясплатны.

першы спосаб

Пачну з гукавых карт кампаніі ASUS. Гукавыя карты кампаніі ASUS DGX/DSX/DX/D1/Phoebus грунтуюцца на чыпах C-Media і нават чыпы ASUS AV66/AV100/AV200 – гэта ўсё тыя ж перамаркіраваныя чыпы C-Media. У характарыстыках гэтых гукавых карт напісана, што яны падтрымліваюць ЕАХ 1/2/5. Усе гэтыя чыпы атрымалі ў спадчыну ад свайго папярэдніка CMI8738 DSP-блок праграмна-апаратны EAX 1/2, EAX 5 ужо праграмны.

Уладальнікам карт серыі Xonar вельмі павезла, усё бачылі кнопку GX на панэлі драйвера, але магчыма не ўсё ведаюць, што яна робіць. Пакажу на скрыншотах з праграмы AIDA64, вось так выглядае закладка DirectX-гук пры не актыўнай кнопцы і ў уладальнікаў убудаваных гукавых карт Realtek у Windows 7/8/10:

Як уключыць 3D-гук у гульнях у Windows 7/8/10
Усе гукавыя буферы роўныя нулю, усё API не актыўныя. А вось адразу пасля ўключэння кнопкі GX мы бачым

Як уключыць 3D-гук у гульнях у Windows 7/8/10
Г.зн. вельмі зручна - не трэба запускаць дадатковыя праграмы, як Creative ALchemy і капіяваць у кожную тэчку з гульнёй файл dsound.dll. Вось узнікае вялікае пытанне, чаму так не зрабіла кампанія Creative у сваіх драйверах? Больш за тое, яна ва ўсіх новых мадэлях Sound Blaster Z/Zx/AE не выкарыстоўвае апаратны DSP-працэсар для апрацоўкі ЕАХ, а робіць гэта праграмна праз драйвер па спрошчаных алгарытмах. Некаторыя людзі лічаць, што праграмнай апрацоўкі гуку дастаткова, таму што сучасныя ЦП нашмат магутней працэсараў гукавых карт 10-гадовай даўніны, якія апаратна апрацоўвалі гук. Гэта зусім ня так. ЦП аптымізаваны апрацоўваць х86-каманды, а DSP значна хутчэй апрацоўвае гук цэнтральнага працэсара, як і відэакарта хутчэй вырабляе растэрызацыю, чым ЦП. Цэнтральнага працэсара хопіць для не складаных алгарытмаў, а вось якасная рэверберацыя са мноствам крыніц гуку будзе адымаць занадта шмат рэсурсаў нават магутнага ЦП, што адаб'ецца на падзенні ФПС у гульнях. Гэта ўжо прызнала кампанія Microsoft і ўжо вярнула падтрымку апрацоўкі гуку DSP-працэсарамі ў Windows 8, а таксама кампанія Sony, якая дадала ў сваю прыстаўку PS5 асобны чып для апрацоўкі 3D-гуку.

другі спосаб

Гэты варыянт падыдзе для карыстальнікаў убудаванай гукавы карты ў матчыну плату, якіх большасць. Ёсць такі праект DSOAL - гэта праграмная эмуляцыя DirectSound3D і ЕАХ з дапамогай OpenAL (OpenAL павінен быць абавязкова ўсталяваны ў сістэме) не патрабавальная апаратнага паскарэння. Калі ваш гукавы чып мае нейкія апаратныя функцыі для апрацоўкі гуку, то яны будуць выкарыстоўвацца аўтаматычна. Праграма настолькі добра працуе, што праз яе ЕАХ зарабіў у мяне на ўсіх старых гульнях, дзе ёсць галачка ЕАХ у наладах. Вось так выглядае акно AIDA64, калі скапіяваць файлы DSOAL у тэчку праграмы:

Як уключыць 3D-гук у гульнях у Windows 7/8/10

Калі ж гэтага не адбылося і ў вас малюнак, як на самым першым скрыншоце, значыць родны Windows dsound.dll не дае перахапіць API, як гэта было і ў маім выпадку. Тады дапаможа такі метад - трэба будзе загрузіцца з якой-небудзь Windows Live-CD выявы і выдаліць файл dsound.dll не без дапамогі ўтыліты Unlocker (папярэдне зрабіўшы копію на выпадак адкату) з каталога З:WindowsSysWOW64 і запісаць замест яго тыя самыя dsoal-aldrv.dll и dsound.dll. Я так зрабіў і ў мяне, як сама Windows, так і ўсе гульні працавалі без збояў і так нават зручней - не трэба кожны раз капіяваць гэтыя файлы ў тэчкі з гульнямі, у крайнім выпадку, можна будзе вярнуць зваротна родны dsound.dll на месца. Праўда такі спосаб падыдзе, калі вы не будзеце карыстацца іншымі гукавымі картамі ASUS ці Creative, таму што ў гэтым выпадку ў вас заўсёды DirectSound3D будзе працаваць толькі праз DSOAL, а не праз родны драйвер ці ALchemy.

Паслухаць DSOAL можна ў гэтым відэа:

→ Спампаваць гатовую бібліятэку апошняй версіі можна адсюль

Параўноўваючы як гучыць ЕАХ на розных гукавых картах я са здзіўленнем выявіў, што на ўбудаваным Realtek ЕАХ гучыць лепш, чым на Асусах ці на маёй Audigy Rx. Калі пачытаць даташыты, то практычна ўсе чыпы Realtek падтрымліваюць DirectSound3D/ЕАХ 1&2. Запусціўшы AIDA64 з-пад Windows XP можна ўбачыць:

Як уключыць 3D-гук у гульнях у Windows 7/8/10
Апыняецца, Рэалтэкі ў адрозненні ад ASUS і Creative гукавых карт падтрымліваюць яшчэ нейкі I3DL2 (не ў кожным Рэалтэкаўскім даташыце пра гэта напісана). I3DL2 (Interactive 3D Audio Level 2) – гэта адкрыты прамысловы стандарт для працы з 3D інтэрактыўным гукам, гэта пашырэнне для DirectSound3D для працы з рэверберацыяй і аклюзіяй. У прынцыпе аналаг ЕАХ, але гучыць прыемней - больш прыемная рэверберацыя ў гульнях крокаў, калі персанаж бяжыць па пячоры або замку, больш рэалістычнае гучанне аб'ёмнага гуку ў памяшканнях. Таму калі старая гульня працуе на Windows XP то я гуляю толькі на ХР, раптам гукавы рухавічок зможа задзейнічаць I3DL2. DSOAL хоць і адчынены праект і яго любы можа ўдасканаліць, але ён ніколі не зможа задзейнічаць I3DL2, т.к. OpenAL не працуе з I3DL2, а толькі з ЕАХ 1-5. Але ёсць і добрая навіна – пачынальна з Windows 8 I3DL2 уключаны ў бібліятэку XAudio 2.7. Так што гук у новых гульнях пад Windows 10 будзе лепей, чым пад Windows 7.

Ну і напрыканцы жадаю нагадаць, што ўсе гэтыя тэхналогіі 3D-гуку распрацоўваліся для слухавак, на 2х калонках вы практычна 3D-гуку не пачуеце. Каб атрымаць асалоду ад дэталёвым гукам навушнікі ўзроўню SVEN AP860 не падыдуць, з недарагіх навушнікаў трэба пачынаць з Axelvox HD 241 - ужо будзе розніца са SVEN AP860, як неба і зямля. Вось неяк так арыентуйцеся.

Як уключыць 3D-гук у гульнях у Windows 7/8/10

Як уключыць 3D-гук у гульнях у Windows 7/8/10

Крыніца: habr.com

Дадаць каментар