Audio "glitch" elleni lépések a Windows 7 fejlesztése során

"A kiváló audio élmény biztosítása PC-n egyike azoknak a technikai kihívásoknak, amelyek 'sokkal könnyebbnek látszanak, mint amilyenek'. Eltérően a dedikált audio/video készülékektől, a PC-ken sok minden folyik audio lejátszás közben és a lejátszás hardverek és szoftverek hihetetlen csoportján keresztül történik." - olvashatjuk az MSDN egyik blogjában. Audio vagy video lejátszás közben néha előfordul, hogy kép akad vagy a hang bedadog. Ezt az észlelhető folytonossági hiányt a Microsoft fejlesztői "glitch"-nek nevezik.

A Windows 7 fejlesztési ciklusa alatt a fejlesztők hallottak arról, hogy audio glitch-et tapasztalnak egyes tesztelők. Azt nem tudták, hogy mennyi felhasználót érint, milyen gyakran érinti őket, milyen hardvernél jelentkezik, stb.

Hogy képbe kerüljenek, a Windows-ba épített telemetria infrastruktúrán (Windows feedback program) keresztül adatokat gyűjtöttek. Azt vizsgálták, hogy ún. "session"-ök alatt mikor nem jut az audio hardver adathoz (azaz következik be a glitch). Kiderült, hogy a külsős (nem Microsoft) Windows 7 RC tesztelők a session-ök 87%-ban nem tapasztaltak glitch-et, de a session-ök 4.3%-ban 10 vagy annál több glitch-csel találkoztak, s ez arra utal, hogy az "audio glitching" jelentős számú felhasználót érint.

Kiderült az is, hogy laptopon kétszer olyan gyakori a jelenség, mint desktop gépen, illetve az is, hogy egyes gyártók sokkal nagyobb valószínűséggel gyanúsíthatók a audio glitch miatt, mint más gyártók.

Ez a blogbejegyzés arról szól, hogy a Microsoft mit tesz annak érdekében, hogy a Windows 7 felhasználók minél kevesebbszer találkozzanak ezzel a nemkívánatos jelenséggel.

Hozzászólások

Hát igen... az erőforráskezelés nem egyszerű dolog... több évtized kell, hogy működő megoldást találjanak. De majd megint lassítanak a hálózatikártyán zenehallgatás közben, hogy ne legyen miatta probléma.

jack, ladspa, ardour, hydrogen, csak hogy az ismertebb dolgokat említsem + rengeteg virtuális szintetizátor, effekt processzor, meg egyebek. persze tény, hogy a nagy összetett fizetős szoftverek elsősorban windowsra és másodsorban macre vannak, de azért nem olyan lemaradt a linux sem (technikailag).

Gondolom ennyire profi eszköz nincs linuxra (esetleg még a jackrack-et nézheted meg). Ha szükséged van azokra a funkciókra amit ez tud és a linuxos cuccok nem, akkor tényleg szívtál linuxon. Mondjuk ha kiadsz érte 299 eurót akkor megéri mellé egy windowst venni, akkor is ha csak ezt a programot futtatnád rajta.

ASIO-nak felel meg kb. a jack szerver.
Ezt legegyszerűbben a qjackctl programmal tudod elindítani (általában a jackd meg a qjackctl a disztribeken alapból van, vagy legalább van belőle csomag).
Szóval elindítod a qjackctl-t, jó esetben simán a start-ra kattintva menni fog.
Amúgy én sem vagyok profi benne, de talán tudok segíteni abban, hogy kell beállítani.
jzombi [at] freemail [dot] hu az msn címem.

Ott kezdődik a probléma az általad írt programokkal, hogy nem tudod használni hozzájuk a kereskedelmi VSTI és VST bővítményeket, mivel ezek csak windózra és osx-re elérhetőek.
Egyébkén osx-re lassan már több audio programot írnak, mint windózra...
Nem mellesleg az újabb hangkártyákhoz szinte soha nincs linuxos driver. Várhatsz 2-3-4-5 évet és esetleg már működnek (ha működnek) is linuxon.

Azert egy realtime mikrokerneles OS-nel (mint QNX peldaul), ahol megadhatod, hogy egy adott alkalmazas szamara minimum X szazalek CPU idot, memoriat, etc biztositson, valoszinuleg obban kontrollalhato a dolog. Mondjuk azokat azert nem pont erre hasznaljak. Vagy megis (?)... Lattam QNX-re gepjarmu fedelzeti rendszert (navigacio, entertainment, klima, stb), ott isjol johet.

/sza2

Talan fontosabb, hogy megadhatod melyik process az amelyiknek mindig CPU idot kell kapnia, ha ep nem varakozik. Egy hang rendszernek ennyi eleg kell, hogy legyen. Eseteleg beallitani, hogy ne swapolodjanak ki a lapjai. Ettol tobbet hang daemonra pazarolni(kockaztatni) egy altalanos rendeltetesu rendszeren botorsag.

Amit nem lehet megirni assemblyben, azt nem lehet megirni.

"megadhatod, hogy egy adott alkalmazas szamara minimum X szazalek CPU idot, memoriat, etc biztositson"

Alakul a dolog, igaz hogy egyelőre még csak a szervereknél.

"A free tool from Microsoft, the Windows System Resource Manager (WSRM), is designed to keep resource-hungry applications in check. [...] WSRM allows you to set limits to the amount of system resources that an application or an IIS application pool is allowed to consume. Resources are usually allocated to an application as a percentage of all of the resources that the system has available. For example, you could use WSRM to ensure that a particular application never consumes more than 20% of the server's processing power. WSRM is also an effective tool for dealing with applications containing memory leaks."

Üdv,
PutAbout

"kép fodros lesz"
ez azert igy faj koran reggel... el se tudom kepzelni mi lehetett az eredeti angol kifejezes...

A'rpi

"perhaps the video was a bit choppy or the audio stuttered. We call this a ‘glitch’ – a perceived discontinuity in your audio or video that interrupts the playback experience."

itt a choppy-t talán "akad"-nak fordítanám, főleg a következő mondat miatt ("a perceived discontinuity")
the video was a bit choppy = a videó egy kicsit akadt

"Audio vagy video lejátszás közben néha előfordul, hogy kép akad vagy a hang bedadog"

Akkor már inkább szaggasson a hang, mint dadogjon.

"Audió- vagy videólejátszás közben néha előfordul, hogy a kép megakad vagy a hang szaggatni kezd."

"a lejátszás hardverek és szoftverek hihetetlen csoportján keresztül történik."

Inkább hihetetlenül vagy elképesztően nagy számú csoportján keresztül.

Bár ennyit felesleges nyelvészkedni, teljesen érthető módon foglaltad össze a MSDN-es blogbejegyzést.

"Akkor már inkább szaggasson a hang, mint dadogjon."

attól függ, hogy arról beszélünk, hogy az ABCDEF-ből A_C__F (vagy A_B_C_D__E___F) -et hallunk (szaggatás), vagy ABABABABABCDEF-et (dadogás).

(javítsatok ki ha tévednék) a hangkártyák úgy működnek, hogy adsz nekik egy N bájtot, és azt játssza, majd szól ha fogyóban, és akkor adsz neki újabb N bájtot. ha nem adsz, akkor az utolsó neki adott N bájtos darabkát kezdi el játszani elölről.