Pagine

Con la Developer Preview di Windows 8 è possibile dare un’occhiata al prossimo aggiornamento di DirectX, la suite di librerie multimediali di casa Microsoft, numerata 11.1. Nonostante la sinteticità delle informazioni pubblicate sino ad ora, è possibile già di trarre alcune considerazioni. 

Le informazioni rivelate riguardano in gran parte Direct3D e l’interfaccia audio di Windows, denotando un aggiornamento di minore impatto, ma per questo non meno importante, almeno dal punto di vista degli sviluppatori.

directx-11logo

Direct3D 11.1

Direct3D è la libreria dedicata alla grafica 3D di DirectX. Con Windows 8 si giungerà alla versione 11.1 e, come molti potranno dedurre, indica un aggiornamento minore come da tradizione Microsoft. La parte più rilevante per gli amanti dei videogiochi è l’introduzione di direttive comuni circa la stereoscopia 3D, probabilmente proveniente da S3D Technologies (già in passato ne fu stilato un abbozzo, ma data la prematurità venne tutto abbandonato con la versione 8.0 di Direct3D). Tale novità permetterà ai giocatori di usufruire finalmente della stereoscopia 3D indipendentemente dal produttore della propria scheda video e, come ora invece accade, indipendentemente se questo abbia collaborato o meno con gli sviluppatori mano al portafoglio.

Le altre novità riguardano invece direttamente gli sviluppatori. Tra le più importanti spicca la possibilità di utilizzare le unordered access views (UAV) in ogni stadio programmabile della pipeline senza alterarne l'attuale struttura, permettendo una programmazione più flessibile e general purpose.

Direct3D pipeline
(Immagine tratta da Practical Rendering and Computation with Direct3D 11, di J. Zink, M. Pettineo e J. Hoxley, CRC PRESS editore)
Per la gioia degli sviluppatori la struttura della pipeline di Direct3D rimarrà inalterata.

Altre novità importanti sono la disponibilità di una piattaforma comune di shader tracing (prima ci si doveva basare sugli strumenti proprietari dei produttori di hardware video), l’aggiornamento e l’ottimizzazione della device WARP (diventando compatibile con Direct3D 11 e implementando le ultime estensioni delle CPU come AVX), la possibilità di processare stream video direttamente sulla pipeline grafica, nonché il permesso di usare operazioni logiche nel blending stage, il ritorno dei caps bit (abrogati con Direct3D 10), un generale aumento di diversi limiti riguardanti il numero di risorse processabili e il supporto (opzionale) alla doppia precisione in virgola mobile.

Per chi non è del mestiere tutto ciò si traduce in una maggiore flessibilità di programmazione e nella necessità da parte di Microsoft di adottare un mercato hardware più ampio rispetto al passato, dove spopoleranno le soluzioni di tipo SoC (System on Chip): tali soluzioni per loro natura saranno varie e non tutte riusciranno sin da subito a supportare ogni singola direttiva grafica, da qui il motivo del ritorno ai caps bit e ad alcune disposizioni opzionali.

Direct2D 1.1

Direct2D è l’attuale libreria dedicata alla grafica 2D. Nata di recente per soppiantare librerie deprecate come GDI e DirectDraw, Direct2D ha avuto alcune difficoltà ad affermarsi sul campo, complici alcuni problemi di compatibilità al di fuori di Direct3D 10.1, risolvibili solo tramite strani kamasutra e costrutti esotici. Finalmente con la nuova versione tali problemi verranno risolti, facendo diventare la libreria molto più appetibile anche per lo sviluppo di interfacce grafiche di videogiochi dove attualmente prevalgono soluzioni esterne, e spesso e purtroppo non così efficienti.

DXGI 1.2 e WDDM 1.2

Anche DXGI (DirectX Graphics Infrastructure) e WDDM (Windows Display Driver Model) verranno aggiornati, entrambi con la numerazione 1.2. DXGI è la componente responsabile per il dialogo fra le librerie grafiche come Direct3D e il kernel del sistema operativo che a sua volta si interfaccia con i driver WDDM. Le nuove versioni apporteranno miglioramenti prestazionali, nonché il supporto alle nuove tecnologie come la stereoscopia 3D, dove per quest’ultima il nuovo modello driver sarà obbligatorio. Con WDDM 1.2 inoltre il sistema operativo avrà la possibilità di de-allocare direttamente la memoria video senza passare per le librerie grafiche. Infine con la Developer Preview di Windows 8 scompare il supporto al vecchio modello driver XDDM, introdotto a partire da Windows 2000 e perpetrato con Windows XP, delegando il compito di supportare le vecchie periferiche video direttamente a DXGI.

Per quanto riguarda l’utenza finale sarà necessario disporre di driver WDDM 1.2 per sfruttare appieno le nuove funzionalità di DirectX, ma la compatibilità sarà assicurata fin dalla versione 1.0 introdotta con Windows Vista.

Kinect SDK

Attualmente l’SDK (Software Development Kit) di Kinect è in fase beta, e uscirà in via definitiva con l’arrivo del nuovo SDK di Windows, atteso in concomitanza con il lancio di Windows 8. Potranno pertanto comparire un discreto numero di applicazioni e videogiochi che sfruttano la periferica di XBOX 360 anche su PC. Nulla di nuovo da segnalare se non eventuali miglioramenti per una migliore integrazione con Metro UI di Windows 8.