Gdy Windows Audio dostanie bzika

Opublikowano: 9 listopada 2009

Jeśli obejrzymy opis procesu AudioDG.exe na zakładce Procesy Menedżera zadań, dowiemy się, że jest to Windows Audio Device Graph Isolation (Izolacja wykresu urządzenia audio systemu Windows). Prowokacyjna nazwa, która może zirytować, gdyż podawana informacja nie zawiera w istocie żadnej informacji.

Proces AudioDG jest ośrodkiem podsystemu dźwiękowego Windows. To tu wykonywane jest cyfrowe przetwarzanie sygnałów. Proces ten jest celowo odseparowany od usługi Windows Audio z wielu powodów; wśród nich wymienić można to, że proces AudioDG jest hostem dla wszystkich wyrafinowanych efektów dźwiękowych, które technicznie rzecz biorąc, noszą nazwę Audio Processing Objects, ale w interfejsie użytkownika nazywają się po prostu Audio Enhancements (Ulepszenia audio).

Po raz pierwszy wspomnieliśmy skrótowo o Audio Enhancements w majowym wydaniu, gdy omawialiśmy usprawnienie Loudness Equalization (Wyrównywanie głośności), pozwalające ustawić głośność na odpowiednim poziomie, by nie musieć nigdy więcej dotykać tego ustawienia. Omówienie innych wbudowanych ulepszeń zawiera wstęp do dokumentu „Reusing Windows Vista Audio System Effects”.

Izolacja Audio Processing Objects jest ważna, gdyż producenci urządzeń dźwiękowych mogą dołączyć do swoich sterowników nowe obiekty tego typu. Dzięki odosobnieniu Audio Processing Objects w odrębnym procesie ograniczany jest zakres awarii systemowej powodowany przez (na przykład) błędne dane wejściowe lub niestabilny obiekt. Jeśli AudioDG ulegnie awarii, utracimy tylko sam dźwięk. Reszta systemu będzie działała nadal bez zakłóceń.

Niefortunnie istnieją jeszcze inne rzeczy, które mogą przytrafić się Audio Processing Object, powodując problemy bez wywoływania awarii. Na przykład mogą się zawiesić, choć zakres problemu jest ograniczony tylko do przetwarzania dźwięku. Gorzej, gdy Audio Processing Object dostanie bzika i zacznie pochłaniać horrendalne ilości zasobów, wysycając wszystkie cykle procesora albo przepuszczając pamięć jak sito. Na szczęście tego typu problemy są znacznie rzadziej spotykane niż zwykła awaria powodująca zamknięcie procesu.

Jeśli jednak zdarzy się takie nieszczęście i zobaczymy, że proces AudioDG zużywa oszałamiającą wielkość procesora lub pamięci, można zrobić kilka rzeczy:

Otworzyć kontrolkę Sounds (Dźwięki) w panelu sterowania i przejść do strony Playback (Odtwarzanie).

Zaznaczyć urządzenie odtwarzające (zazwyczaj głośniki) i kliknąć Properties (Właściwości).

Kliknąć zakładkę Enhancements (Ulepszenia). Jeśli zakładki takiej nie ma, oznacza to, że z urządzeniem odtwarzającym nie są skojarzone Audio Processing Objects.

Użyć pól wyboru, aby wyłączyć niektóre (lub wszystkie) ulepszenia, które, jak wspomniałem, są jedynie przyjaźniejszą nazwą dla Audio Processing Objects. Dostępna jest też opcja „Disable all enhancements” (Wyłącz wszystkie ulepszenia), która działa jak wyłącznik główny, odłączający wszystko na raz.

Jak można sobie wyobrazić, producenci kart dźwiękowych naprawdę, ale to naprawdę nie chcą, aby ktoś wyłączał te świetne efekty, na których projektowanie poświęcili tyle pieniędzy. Z ich punktu widzenia funkcje mają pomóc im w ucieczce przed konkurentami. „Używaj naszej karty dźwiękowej, a nie jakiejkolwiek innej, bo tylko nasze karty brzmią tak wspaniale!”

Gdy producenci sprzętu dźwiękowego odkryli, że zespół projektujący Windows Audio dołączył sposób wyłączenia tych wszystkich wspaniałości, byli bardzo zaniepokojeni i wszelkimi kanałami wywierali naciski, aby wymusić usunięcia tego „głównego wyłącznika”. Była to długa, trudna walka, ale zespół tworzący Windows Audio przeważył i nadal mamy to magiczne pole wyboru (a żeby się upewnić, że żaden z producentów kart dźwiękowych nie spróbuje go usunąć, jedną z części testów jakości i kompatybilności jest sprawdzenie, czy dostarczony sterownik nie próbuje ukryć tej opcji lub w inny sposób nie blokuje jej działania). Myślę, że warto byłoby wysłać tym dzielnym ludziom podziękowania za dobrą walkę i za wygraną.

OK, ale skąd ta tajemnicza nazwa dla AudioDG? Termin Device Graph służy do opisania sposobu, w jaki połączone są różne komponenty systemu audio i właśnie to są ścieżki, którymi sample dźwiękowe podróżują do głośników przez system komputerowy. Zespół projektowy Windows Audio zamierzał nazwać ten program DeviceGraph.exe, ale ze względu na nieporozumienie nazwę skrócono do AudioDG. Wydawało im się (niesłusznie), że nazwa programu nie powinna przekraczać ośmiu znaków – spadek po dawnych czasach 8.3, zanim długie nazwy weszły do powszechnego użycia. Nim nieporozumienie wyjaśniono, było już za późno i mamy taką nazwę, jaką mamy.

Podziękowania dla Larry’ego Ostermana i Elliot Omiya za pomoc w pisaniu tego artykułu.

Strona Web Raymonda Chena, The Old New Thing, a także książka pod tym samym tytułem (Addison-Wesley, 2007) poświęcona jest historii systemu Windows, programowaniu Win32 oraz hipotezie Krashena dotyczącej zrozumiałości przekazu.


Do początku stronyDo początku strony