14. 11. 2013

Playstation 4 - audio


Stručná história. Playstation 1 -  dedikovaný audio čip SPU /sound processor unit/ na 8Mhz, vlastná pol megavá audio ram, prehrávania formátov CD audio a hlavne klasická MIDI syntéza, 24 kanálov. Playstation 2 - SPU1+SPU2, 2 mega vlastnej ram, 48 kanálov, jednoznačne prevaha statického "stream audia", MIDI už bola pasé, pribudla aj nejaká ta podpora pre DTS a Emotion engine umožňoval využiť časť výkonu vektor jednotiek aj na audio operácie. Playstation 3 - wiki vám toho veľa nepovie, zdá sa, že PS3 nemá dedikovaný audio čip. A naozaj tomu tak je. To čo sa načalo na PS2ke sa dokonalo na PS3ke. CELL okrem toho, že dobrá polovica jeho výkonu maká na grafike, tak sa hraje aj na zvukovú kartu /3D sound, DSP efekty, nekomprimované 7.1 sample atď./

Softvérová PS3 "zvukovka" je teda tak dobrá, akí dobrí sú vaši progiši, kanálov a 3D efektov máte toľko koľko vytlačíte do SPE jednotky /podobne to fungovalo aj na starej N64/. Pre menej schopných tu sú oficiálne knižnice v rámci Multistream middleware v CELL SDK. Nie je tu ani samostná audio ram a priemerná spotreba sa pri PS3 hrách hýbe do 30 mega. Xcrap 360 je riešený presne tak isto /drancujeme CPU a spotreba výkonu bola niekedy značná, aj viac ako jedno jadro !!/ A pretože je CELL CPU oveľa výkonnejšie ako Xcrap 360 CPU tak sme dostali aj oveľa, ale naozaj oveľa kvalitnejšie herné audio. Pochopiteľne to mal každý na háku a ani Ližprdel Msbetter to nijako nerozmázaval, kto by už len chválil PS3. Teda okrem mňa.

Hajzel a anti-sony MS pahovno však neváhalo ani pol sekundy, keď získalo dojem, že po audio stránke by PS4 mohla byť výrazne slabšia ako Xbone, neb ten má overene špeci vyladený audio block - SHAPE. PS4 údajne iba "maličké niečo" - ACP na dekódovanie prašivých mp3. Okamžite začal v každom v tom svojom zasratom pseudo technickom článku plnom lží, zavádzania a dohadov PS4ku zhadzovať : "The Xbox One has dedicated audio processing hardware that is not present in PS4 or PC" alebo "Audio-wise, Microsoft's hardware is also impressive, with DSP effects, mixing and other features effectively available for "free" to developers, where PS4's set-up only decodes compressed audio formats."

Takže sme si počkali na včerajšiu prednášku nielen o AMD HSA audio engine a SONY prezentáciu "Inside PlayStation 4: Building the Best Place to Play"  - by Dominic Mallinson, VP, R@D, Sony Computer Entertainment America a dozvedeli sme sa toto - PS4 je globálne po zvukovej stránke ďaleko pred PS3. Niečo už predtým naznačil Infamous PS4 dev tím. Z oficiciálnej SONY prezentácie - audio v PS4 hre KZ:SF využíva 50% výkonu jedného CPU Jaguar jadra, až 500 megový audio buffer. PS4 Jaguar je per thread vraj iba o desať percent pomalší oproti i7 na rovnakej frekvencii /8 versus 8 HW threads/ a la bomba šok na záver :


DSP fy Tensilica integrované do PS4 APU

Ou, to muselo tu MS prdelku pekne bolieť. TrueAudio DSP fy AMD je veľkolepý návrat ku výkonným dedikovaným zvukovkám v tomto prípade integrovaným do grafickej AMD karty. Nejde o žiadnu revolúciu. My starší sme zažili, keď sa ešte zvukovky ku PC museli kupovať a panoval to strašný konkurenčný boj - Šumblaster /nemá HW mixér, CPU trpí/ versus Gravis Ultrazvuk /má HW mixér, demoscéna a CPU sa smeje/. Neskôr pri náraste CPU výkonu už Direct Sound smeroval svoje požiadavky rovno na to CPU a na matičnej doske bol prilepený iba malý Realtek čip s "audio kodekmi" - a takto videl PS4 aj Ližprdel. Malá odbočka - viď aj prastarý Atari Falcon alebo konzolku Atari Jaguar /U-235 je jeho najvýkonnejší audio engin, middleware/ - mali krásne zvukovky s univerzálnym DSP čipom /digital sound processor/. Nejde vskutku o nič nové, len sa hýbeme v cykloch a v tejto generácií sa časť tej audio práce presunie na špeciálny hardvér.

Použil som slovo časť, a povedal som aj, to že KZSF audio engine žerie dosť CPU výkonu a potom sa tu váľa tá super PS4 zvukovka. Ako to vlastne dať dokopy, kde to má logiku ? Vysvetlím to jednoducho, kvázi off-topic odbočka. Trpezlivosť. Je tu snaha používať GPU na akcelerovanie fyziky /wow efekty/, má to jeden háčik. Ak chcem aby tie fyzikálne efekty bolo interaktívne /reagovali napríklad na vašu postavu/ tak GPU musí ten svoj fyzikálny výstup konzultovať s CPU /to zabezpečí tu pravú interakciu viazanú sa samotnú hernú mechaniku/. Dáta teda lietajú medzi CPU a GPU ako šialené /aj viac ako 60 krát za sekundu/ a zbernice a pamäte horia. Je to proste strašne neefektívne, opakom je hUMA/HSA riešenie PS4.

A naše moderné audio sa správa presne ako tie fyzikálne efekty. Pravé 3D audio to nie je iba prehrávanie samplov z BD placky, DSP mixovanie a trochu echa. Hovoríme o oklúzii zvuku,  atenuácia, audiotracing, doplerovských efektov, komplikovaných audio behaviorálnych modelov /strašne veľká téma a všetky kvalitné aduio middleware to majú v sebe zakompované/. No a tu je práve tá asistencia CPU nevyhnutná /podľa známych informácii je navyše Xbone SHAPE takmer neprogramovateľný/. Killzone:SF nám teda signalizuje, že robí s audiom trochu viac ako bohapusté umiestňovanie výbuchov v priestore a HW mixovanie. Je tu tiež otázka v akom stave je expozícia AMD TrueDSP v PS4 SDK voči vývojárov, teda či vôbec už môžu na ten HW pristupovať v celom rozsahu /hotové "ovládače" proste/.

CPU - help !!!

Skrátená tldr vezia. PS4 CPU si pomáha využitím početných špecializovaných čipov - rozbaľovanie dát v reálnom čase prenášaných z BD mechaniky na HDD, alebo z HDD do ram. Audio/video enkódovanie bez záťaže CPU /streaming, audio-videochat/. Ochrana systému pomocou AMD trustzone /pri PS3 si to bralo celú jednu SPE, pri PSV zas jedno jadro !!/ a sekundárne CPU - ARM čip. No a nakoniec dedikovaný audio čip s DSP. Všetko toto a ešte mnoho viac musí vaše PC CPU utiahnúť samo, takže som si úplne istý, že aplikačne-herne sa PS4 CPU vyrovná stredne výkonnej i7. Rád by som vám nakoniec dal nejaký versus súboj medzi PS4 TrueAudioShit a Xbone SHeeP ale na rovinu - nič také nenájdete, nikoho to nezaujíma a aj Ližprdel sa tým ohadzoval iba preto aby aspoň v niečom dokázal nadradenosť Xbone nad PS4. Tento úškrn z tváre som mu teraz zmazal. Audio v hrách 8.generácie teda bude v závislosti od komplexnosti audio enginu práce iba pre zvukovku alebo najmä pre CPU alebo rôzne pomerové mixy medzi CPU, GPGPU /direct compute/ aka AMD HSA audio a dedikovanou zvukovkou. Niekedy nabudúce snaď o najväčšom tajomstve PS4 - sekundárne, autonómne CPU s označením SCEI CXD90025G /Playstation Vita SOC - quad CPU+quad GPU+ 768 mega RAM na jedmom silikóne má mimochodom označenie CXD5315GG a svojho času to bolo state of the art nadupané riešenie/.