DirectX - multimedia

Hvis du er interessert i spill eller multimedia har du sikkert støtt på begrepet DirectX. Hva det egentlig innebærer er uklart for de fleste, men DirectX er en grunnleggende strategi for utviklingen av fremtidens Windows. Vi skal se litt på hva det dreier seg om, om bakgrunnen og fremtidig utvikling.

DirectX er i korthet den delen av Windows som håndterer, eller rettere sagt, kommer til å håndtere, alle typer multimedia. Dette kan for eksempel være 3D-grafikk i spill, lyd eller video i en nettleser, effekter i et lydredigeringsprogram og alle tenkelige kombinasjoner av disse forskjellige mediatypene.

Multimedia er krevende

Hva er det som er så spesielt med multimedia-data? For det første er multimedia en viktig sektor for Microsoft, fordi det både har høy underholdningsverdi og er en kraftig og velkjent form for å formidle et budskap. Dette selger. For det andre er multimedia forskjellig fra andre datatyper fordi de opptrer i en jevn, uavbrutt strøm. Dette gjør at de må håndteres på en helt annen måte enn statiske tekst- og talldata hvor det er leserens øyne som beveger seg, mens objektet står stille.

For å presentere multimedia på en overbevisende måte, er det nødvendig med maskinkraft. Det er store datamengder som skal håndteres, og våre sanser er svært følsomme for avbrudd i presentasjonen. Hakkete bilder og lyd tar oppmerksomheten vekk fra innholdet og skaper lett irritasjon hos brukeren.

Øyet krever at det vises 20 bilder eller mer i sekundet for at vi skal tolke bevegelsen som jevn. Dette blir en ganske heftig datastrøm hvis bildet skal dekke hele skjermen med høy fargeoppløsning. 1024 x 768 punkter x 24bits x 25 blir en datamengde på 58 982 400 bytes pr sekund og er helt urealistisk på en PC. Derfor brukes mindre bildeformater og kraftig kompresjon av datastrømmen.

Øret krever ikke så høy datarate, her holder det med 16 bits x 44100 x 2 (stereo), 176 400 bytes i sekundet, for CD-kvalitet. Dette er fullt mulig å spille av fra en harddisk eller CD-ROM sammen med andre data.

Men hva med interaktiv multimedia, som for eksempel spill? Det er da det begynner å bli vanskelig. I et spill er det brukerens handlinger som bestemmer hva som skal skje. Figurer skal flytte på seg, bakgrunnen skal endres, forskjellige lyder skal mikses. Og dette skal skje både samtidig og umiddelbart - Windows' timeglass har ingen plass i dette bildet.

DOS-spill er snart historie

Tidligere fungerte spill på PC slik at de tok over hele maskinen. Programutviklerne skrev effektive programmer, ofte i maskinkode, som styrte maskinvaren, inkludert både grafikk- og lydkort, direkte. I praksis ble PCen gjort om til en ren spillemaskin. Dette krevde mye fikling fra brukerens side, og ofte redigering av autoexc.bat og config.sys for å få de forskjellige spillene til å kjøre.

I dag har Windows tatt over styringen av maskinvaren, slik at alle komponenter i PCen, som skjermkort, lydkort, styrespaker osv. snakker via Windows. Det er ikke lenger mulig å "ta over" PCen når Windows kjører. Derfor lager alle produsenter av tilleggsutstyr driverprogrammer bare for Windows, og alle programutviklere baserer seg på at Windows tar seg av kommunikasjonen med tilleggsutstyret.

DirectX - en ny strategi

DirectX er Microsofts strategi for å effektivisere mediahåndtering. Den består av en rekke moduler som tar seg av forskjellige operasjoner, som DirectDraw, DirectSound, DirectSound3D, DirectPlay, DirectAnimation, DirectMusic - og mer Direct-et-eller-annet kommer etter hvert.

DirectX innebærer støtte for en rekke funksjoner som tidligere måtte skrives av de forskjellige programutviklerne. Disse funksjonene er nå tilgjengelige i det som kalles Windows' API, (Application Program Interface) - selve byggestenene i Windows som får vinduer og menyer fram på skjermen, data til og fra disk, til skriveren, internett osv.

DirectX inneholder funksjoner som støtter tegning og animasjon av objekter, avspilling og miksing av lydfiler osv. Disse funksjonene er effektive rutiner som har koblinger langt ned i roten av Windows. De er skrevet for å være et alternativ for direkte kommunikasjon med maskinvaren, samtidig som de på ingen måte har tillatelse til dette. Dette gjør PCen stabil, siden alle adresseområder er beskyttet, både i selve minnet og i maskinvaren.

Også for Web

Siden internett vil bli en viktig - kanskje den viktigste - mediekanalen i fremtiden, inneholder DirectX også støtte for dette. Nye filformater, avspillere og koblinger, samt tillegg til de etablerte standardene. Microsoft satser på at Windows blir den teknologien som utnytter nettets muligheter best. Det er blant annet derfor de nå er oppe i den berømte rettssaken med det amerikanske handelsdepartementet.

Fortiden henger stadig igjen

Men fremdeles er mange drivere for tilleggskort basert på den gamle arkitekturen fra Windows 3.1 - Multimedia Extensions, som bare fungerer i 16-bits miljø. Dette gjør at både Windows95/98 og NT må ha støtte for 16-bits kode, og bruke programkode som kommuniserer mellom 32-bits programvare og 16-bits drivere. Dette er både ineffektivt og i strid med strategien om et rent 32-bits operativsystem med full beskyttelse av alle minneområder.

Neste skritt

Det neste skritt i utviklingen er nye drivere for tilleggsutstyr basert på WDM (Win32 Driver Model), som vil være felles for både Windows 98 og NT 5.0. Disse driverne vil gi langt bedre ytelse og stabilitet, og vil også etter hvert dukke opp i Windows CE. Dette er den kompakte, portable versjonen av Windows som er beregnet på lomme-PCer og småapparater, men som muligens blir den plattformen som blir basis for en fremtidig generasjon av PCer.