Le DirectX, precedentemente conosciute come SDK di gioco, furono create nel 1995 da un Team di sviluppo di Microsoft, per gestire facilmente i compiti relativi alla programmazione di applicazioni multimediali sui sistemi operativi Microsoft Windows 95 e succesivi. Prima dell'avvento delle directx i programmatori per creare i giochi dovevano utilizzare MS-DOS con API Open-GL, questo significava un enorme quantità di lavoro per creare i driver compatibili (bisognava crearli per ogni chip grafico esistente) inoltre le prestazioni erano scarse. Invece le directx utilizzavano due tipi di driver: HAL (Hardware Abstraction Layer) ed HEL (Hardware Emulation Layer), questa novità permetteva al programmatore di utilizzare una funzione grafica senza chiedersi se il chip grafico lo supportava, erano le DirectX a deciderlo; se la scheda era compatibile veniva usata la funzione del driver HAL che si interfacciava con il processore grafico (utilizzando al massimo le potenzialità), invece se non era compatibile veniva utilizzato i driver HEL che permettevano di emulare gli effetti (leggera perdita di prestazioni). Grazie a queste tecnologie era possibile velocizzare la creazioni di applicazioni multimediali, inoltre eravamo certi che acquistando un gioco compatibile con le DirectX che sfruttava una determinata caratteristica (non presente sulla nostra scheda video) eravamo sicuri che funzionava. Microsoft Ha aggiornato quasi annualmente le librerie Directx, ampliando le funzione e la compatibilità con tantissimi dispositivi multimediali, diventando indispensabile in qualunque Computer, Infatti dal Windows xp le directx sono integrate nei sistemi operativi Microsoft.
Cosa sono?:
Le DirectX sono una serie di librerie utilizzate per le funzioni multimediali più importanti, si suddividono in:
DirectX Graphics: permette la presentazione a video di grafica 2D e 3D, interfacciandosi direttamente con la scheda video. Permette al programmatore di sfruttare direttamente le potenzialità dell'hardware del PC, eludendo Graphics Device Interface (GDI) e Display Device Interface (DDI) di Windows. Le funzioni non supportate dall'hardware vengono emulate via software dalle DirectX grazie al Hardware Emulation Layer (HEL). DirectX Graphics è composto da una API di basso livello (Direct3D) ed una di alto livello (Direct3DX).
Direct3D è concepito per applicazioni grafiche complesse e che richiedono un'alta frequenza di aggiornamento dello schermo (come per esempio i videogiochi). Fino alla versione 8.0 esistevano DirectDraw (grafica 2D) e Direct3D (solo grafica 3D), di cui nelle ultime versioni è rimasto solo l'API per la grafica tridimensionale (che all'occorrenza renderizza anche in 2D sfruttando poligoni texturizzati senza prospettiva).
Direct3DX si basa su Direct3D per offrire potenzialità simili con minore complessità.
DirectInput: gestisce l'input dato dalla tastiera, dal mouse, dal joystick o da qualsiasi altra periferica di gioco, bypassando il sistema di messaggi di Windows e accedendo direttamente all'hardware, sia esso analogico o digitale. Supporta gli effetti di Force Feedback.
DirectPlay: fornisce supporto ai giochi di rete. Consiste principalmente in un protocollo a livello "applicazione" che gestisce oggetti logici quali la Sessione di gioco e i Giocatori (differenziati in remoti e locali). Generalmente però l'uso di DirectPlay è connesso ad un notevole sovraccarico di comunicazione, per cui ha ricevuto un'accoglienza tiepida tra gli sviluppatori, i quali sono ricorsi più spesso a implementazioni di rete ad-hoc tramite socket (che permette l'eventuale compatibilità con server di gioco su Linux, cosa impossibile con le DirectX legate al sistema operativo Microsoft). DirectPlay è ancora incluso nella DirectX, ma non viene più sviluppato.
DirectSound: si interfaccia con la scheda audio per la riproduzione e la registrazione di effetti sonori. Supporta l'audio posizionale (che simula la spazialità del suono in 3D). I suoni possono essere modificati da effetti da diversi buffer di ingresso (Secondary Sound Buffers), dopodiché vengono missati insieme nell'unico buffer di uscita (Primary Sound Buffer). I buffer di ingresso possono essere statici (da file) o dinamici (streaming da un microfono, ecc...) e la loro quantità dipende esclusivamente dalla potenza computazionale del computer. DirectSound si può appoggiare sulle funzionalità della scheda audio, nel caso supporti gli effetti richiesti. Tre gli effetti ci sono il volume, l'equalizzazione, il panning, il riverbero, la distorsione, vari effetti tridimensionali e la simulazione dell'effetto Doppler.
DirectMusic: supporta la riproduzione di musica (MIDI, ma non MP3). Offre la funzionalità di un sintetizzatore software all'occorrenza.
DirectShow: gestisce diversi file multimediali (per esempio filmati MPEG o audio MP3) e supporta lo streaming via Internet.
DirectSetup: permette al programmatore di rivelare le DirectX installate e aggiornarne i componenti durante l'installazione del proprio programma.
DirectX Media Objects: permette la modifica di streams audio e video, così da poterli poi riprodurre tramite DirectShow o DirectSound.
DirectX nei Giochi
Spesso si installano/aggiornano le DirectX principalmente per utilizzare giochi 3d evoluti, che implementano nuovi effetti grafici. Vediamo le principali differenze tra le ultime 3 versioni ( 9, 10, 11 )
DirectX 9 Novità: La prima versione delle DirectX 9 è stata rilasciata il 19 dicembre 2002, successivamente uscirono le versioni 9.0a, 9.0b, 9.0c.
Schede video Compatibili: Amd: Tutta la serie, X1800, X1900, HD2000, HD3000, HD4000, HD5000
Nvidia: Tutta la serie, 6000, 7000, 8000, 9000, 100, 200, 300 e Gtx 470, Gtx 480
Intel: Tutti la serie di chip, GMA 900, GMA 950, GMA 3000, GMA 3100, GMA X3000, GMA X3100, GMA X3500, GMA X4500, GMA 500
DirectX 10 Novità: Questa versione è stata rilasciata il 30 novembre 2006 insieme all'uscita del sistema operativo Windows Vista. Le DirectX10 portano molte novità, ad sempio hanno nuove DLL più veloci grazie anche all'abbandono della retrocompatibilità con le versioni precedenti. Questa non viene quindi gestita dalle DirectX 10, bensì dalle DirectX 9.0L che sono parallelamente presenti nel sistema operativo Windows Vista. Supporto dei Shader Model 4.0 e dei Geometry Shaders o shader unificati. Gli shader unificati permettono di usare una qualsiasi delle unità shader disponibili sulla scheda grafica, indifferentemente per il calcolo dei pixel, vertici, geometrie, ecc. in questo modo è possibile sfruttare in ogni momento tutta la potenza di calcolo della scheda grafica. Le DirectX 10 grazie al nuovo kernel di Windows Vista, permettono di renderizzare scene più complesse con un minor intervento della CPU, mediante una gestione del bilanciamento di carico fra la CPU e la GPU, con ottimizzazione dei trasferimenti. Viene drasticamente ridotto l'object overhead ossia il tempo di calcolo aggiuntivo per creare gli oggetti, grazie al fatto che con le DX10 la creazione avviene direttamente sulla GPU senza passare prima per la CPU per ogni oggetto (mentre con le DX9 già a partire da 500 oggetti il collo di bottiglia tra le API e la CPU diventava percepibile e le prestazioni diminuivano nettamente). Il 4 febbraio 2008 vennero aggiornate alla versione 10.1, con la correzione di vari bug e la compatibilità con i Shader Model 4.1.
Schede video Compatibili: Amd: Tutta la serie, HD3000, HD4000, HD5000
Nvidia: Tutta la serie, 8000, 9000, 100, 200, 300 e Gtx 470, Gtx 480
Intel: Tutti la serie di chip, GMA X3100, GMA X3500, GMA X4500, GMA 500
DirectX 11 Novità: Questa versione è stata rilasciata il 27 ottobre 2009 insieme all'uscita del sistema operativo Windows 7, porta poche novità.
Tassellation - è implementato sulla GPU per calcolare una superficie più liscia-curva con conseguente aumento del detaglio nelle immagini , anche i colori risultano più realistici.
Multi-Threading - Consente agli sviluppatori di poter programmare le applicazioni grafiche per uttilizare l'intera potenza delle CPU multi-core. Questo si traduce in un framerate più veloce nei giochi, pur con l'aumento del dettaglio visivo .
DirectCompute - Strumento avanzato utilizzato dagli sviluppatori, che permette di utilizzare la potenza delle schede video per accelerare i giochi e applicazioni non-gaming. Questo migliora la grafica, pur permettendo ai utenti di accelerare le attività quotidiane, come l'editing video, sui loro PC.
Windows 7 - Pienamente compatibile con il nuovo sistema operativo Microsoft.
Schede video Compatibili: Amd: Tutta la serie, HD5000
Nvidia: Gtx 470, Gtx 480
9 VS 10 VS 11 (Immagini):
Age of Conan:Hyborian Adventures
DirectX 9 DirectX 10 DirectX 9 DirectX 10
Flight Simulator X DirectX 9 DirectX 10
Crysis
Dirt 2
DirectX 9 DirectX 11
9 VS 10 VS 11 (Video):
Crysis 9 vs 10
Crysis 9 vs 10
Bioshock 9 vs 10
Vari 9 vs 10
Dirt 2 9 vs 11
Dirt 2 9 vs 11
Heaven Benchmark 10 vs 11
BattleForge 10 vs 11
STALKER: Call of Pripyat 10 vs 11
Per finire, il download delle ultime Directx compatibili con il vostro sistema. (click)
Non puoi aprire nuovi argomenti Non puoi rispondere negli argomenti Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi inviare allegati