Tempo di Lettura: 3 minuti
Era una notizia che mi aspettavo, prima o poi: pare, infatti, che i produttori di videogiochi si stiano lamentando con Microsoft per il fatto che la presenza delle DirectX 10 solo su Windows Vista (escludendo volutamente Windows Xp) sia una fattore decisamente limitante per le vendite dei videogame; infatti da una recente indagine solo un giocatore su 50 ha a disposizione Windows Vista ed una scheda video compatibile con le Directx10.
Inoltre, dato che l’industria dei videogiochi guarda al risparmio, visto che né la console di Microsoft Xbox né la console di Sony Playstation 3 supportano le DirectX10, è evidente che implementare le funzionalità aggiuntive fornite dalla nuove API di delle DirectX10 sarebbe controproducente e quindi, in definitiva, almeno per ora, non sono ancora state implementate.
Un altro punto a sfavore delle DirectX, consiste nella mancanza di flessibilità delle periferiche di input: infatti, nei pc, è ancora impossibile collegare controller come il Wiimote o la chitarra di Guitar Hero, limitando di fatto, ulteriormente, la possibilità di sviluppo e diffusione dei giochi. Dato che un PC, per definizione, è molto flessibile nella configurazione, sarebbe stato bello poter installare nativamente controller così evoluti: purtroppo credo che queste implementazioni si paghino a suon di dollari di copyright e probabilmente Microsoft preferisce puntare più sui suoi device che su quelli di altre società.
Io credo che con le DirectX 10 Microsoft abbia voluto puntare più sull’interesse dei giovani videogiocatori in modo da spingere questa fascia d’età a migrare rapidamente al nuovo sistema operativo per avere la possibilità di godersi gli ultimi titoli “Vista Only” usciti nel mercato come Halo2 e Shadowrun.
Ma come accade di solito in questi casi, qualcuno ha ben pensato di andare oltre ai limiti imposti da Microsoft. In questo caso ci ha pensato Brian Thomson, CEO di Falling Leaf, che ha deciso di portare in XP questi nuovi videogiochi, creando un layer di compatibilità, chiamato Alky, in grado, in futuro, di effettuare un porting “legale” dei giochi in “Vista Only” su Windows XP.
Ho detto legale (a meno di cause intentate da Microsoft) perché attualmente un gruppo di hacker, il Razor1911, è riuscito a “reimpacchettare” i giochi sopracitati, facendoli girare in XP senza difficoltà, smentendo di fatto le dichiarazioni di Microsoft sul fatto che oltre ad essere impossibile implementare le DirectX 10 in Windows XP, era anche impossibile lanciare i videogiochi usando DirectX 9.0c per Windows XP.
Ma quali sono le novità delle DirectX 10 rispetto alla versione 9.0c che è l’ultima disponibile per il sistema operativo Windows XP?
Le DirectX 10, originariamente denominate Windows Graphics Foundation, non sono solo una versione aggiornata delle vecchie 9.0c, ma integrano nuove funzioni come lo Scheduler, che perfeziona il multitasking grazie anche all’utilizzo di un nuovo sistema di virtualizzazione della memoria.
La novità più importante, però, è che tramite le DirectX 10 la GPU potrà svolgere un lavoro notevolmente superiore rispetto al passato lasciando quindi di molto più libera la CPU che potrà occuparsi di altro. Tuttavia il passaggio da DX 9 a DX 10 non sarà significativo quanto, come raccontato precedentemente, il passaggio da DX 7 a DX 8, consentirà però un numero più elevato di effetti, contribuendo ad aumentare la profondità e il dettaglio dei paesaggi, importante passo per il raggiungimento del fotorealismo. Per maggiore informazioni potete leggere un mio precedente post: Tutta la storia delle librerie grafiche DirectX.
Ora, dopo la teoria, il mio consiglio è di visionare direttamente le differenze tra un videogioco realizzato con DirectX 9 e uno con DirectX 10; in particolare guardate questi due video tratti dai famosi videogame Crysis prodotto dalla EA:
DirectX 9 vs. DirectX 10 Hunter
Quello che non ho ancora capito di directx 10 è questo: io ho un portatile con vista, se vado a vedere la mia versione di directx nel sistema mi dice che c’è la 10, fin qui tutto bene. Il problema è che la mia scheda grafica (Nvidia 7600 GO), non dovrebbe supportare a quanto ne so il directx 10. Allora una domanda: se c’è il directx10 ma la scheda non lo supporta, significa che ho le prestazioni del DX9c? Ma poi come può girare con le librerie del 9c se io ho installato il 10? Quindi il 10 contiene in qualche modo le librerie 9c? E allora dove sta questo problema di compatibilità tra i programmi in 9c e in 10 se la libreria 10 è in grado di emulare una 9c? Voglio dire, se un programma è in grado di girare su una “emulazione” di un driver, figuriamoci sull’originale, o no?
Se ci fosse qualche esperto di schede grafiche in ascolto magari potrebbe sciogliere il dubbio. Grazie per l’articolo Antonio, interessante come sempre. Tra l’altro Crysis è un gioco che sto aspettando, e magari qualche motore di ricerca ti porta in questa pagina qualcuno in cerca di informazioni sul gioco. Se è così e visto che ne parliamo, Crytek rilascerà una demo del gioco prima dell’uscita ufficiale (prevista per novembre). La demo single player dovrebbe essere disponibile dal 25 settembre
La differenza risiede nel fatto che su schede non directX 10 queste ultime girano con una sorta di emulazione software, è una differenza ultra nota quella tra accelerazione hardware ed accelerazione software. Il fatto che tu non ti renda conto delle differenze di un windows vista con una scheda video directX 9 ed un altro con una scheda video directX 10 è dovuto al fatto che un sistema operativo non implementa tutti quegli effetti esclusivi invece di schede con accelerazione DX10 Hardware. Come puoi leggere anche nel mio articolo qui citato http://www.onehardware.it/01/05/2007/directx-10-il-passaggio-a-windows-vista-e-giustificato/, le differenze attingono principalmente ai paesaggi tridimensionali, che potranno con directX 10 acquistare maggior realismo grazie ad una più elevata profondità, ma non è roba da sistemi operativi.
In fondo è ciò che è sempre accaduto così, anche nel passaggio da directX 8 a 9.
Grazie, tutto chiaro per la parte che posso capire. Ancora non capisco però i problemi di compatibilità accennati da microsoft e ripresi nell’articolo di Antonio. La considerazione resta quella: se un programma è in grado di girare su una emulazione di un driver, che problemi dovrebbe avere a girare sull’originale di quel driver? E’ un controsenso, un problema di compatibilità rovesciato.
Per quanto riguarda le schede grafiche mi sembra che i due leader di mercato abbiano dormito parecchio prima di produrre le DX10 compatibili. Vista è disponibile in versione beta almeno da maggio 2006 (se non ricordo male), è possibile che le prime schede DX10 compatibili escano nella primavera/estate del 2007? Mi sembra un ritardo colpevole, forse dovuto al fatto che il mercato delle GPU è dominato solo da due grandi nomi e manca di fatto la vera concorrenza
Non penso di aver compreso completamente i tuoi dubbi ma ora ti spiego un pò le possibilità ufficiali e non ufficiali, in modo da chiarirti le idee:
1) gioco dx10 che gira con dx10 su scheda video dx10 e windows vista (modalità ufficiale).
2) gioco dx10 che gira con dx9 su scheda video dx9 e windows xp.
3) gioco dx10 che gira con dx9 su scheda video dx9 su windows vista (conseguenza del punto 2)
4) gioco dx10 che gira con dx10 su scheda video dx10 su windows xp.
Altro non è possibile, anche perchè le api dx10 includono delle istruzioni (effetti per lo più) impossibili da replicare in modalità software, o almeno farlo senza ottenerne un vertiginoso calo delle prestazioni (ed intendo 2/4fps, ingocabile). È qui che penso ti sia confuso, non è possibile far girare giochi in dx10 su schede video dx9, ma utilizzare dx9 per giocarci, con un conseguente calo della qualità ovviamente dovuta alla mancanza degli effetti esclusivi di dx10, anche se penso che sarà una soluzione provvisoria, perchè, come ho anche spiegato in questo articolo: http://www.onehardware.it/16/07/2007/e3-2008-i-videogiochi-dellimminente-futuro-e-directx-10/dovremo aspettare un annetto prima di vedere i primi giochi progammati interamente in directx10.
Per il secondo punto sull’uscita di vista le date che hai citato non corrispondono, infatti il problema è stato proprio il contrario per la verità, ovvero la GeForce 8800, la prima scheda video DX10, è uscita con anticipo su windows vista, per cui all’uscita di quest’ultimo i drivers ancora non erano completi, il che ha causato grossa delusione tra i consumatori e qualche battaglia legale, come spiegato in questo articolo: http://www.onehardware.it/27/04/2007/consumatori-contro-nvidia-in-una-battaglia-legale/
Ho fatto un giro su internet e in effetti è come dici tu: Nvidia ha tirato fuori la sua prima scheda video DX10 a fine 2006, mentre è ATI ad aver prodotto la sua prima DX10 solo a maggio del 2007.
Per il resto mi sembra tutto abbastanza chiaro. La confusione per gli inesperti del settore come me nasce dal fatto che il mio sistema operativo (vista) mi dice di avere DX10, quando in realtà la mia scheda video non lo supporta, quindi di fatto io *non ho* DX10, o se vogliamo non posso comunque usufruirne, quindi è come se non l’avessi. Credo che un buon 90% dei desktop e portatili venduti fino ad oggi con vista si trovi in queste condizioni.
Mettere in condizione il SO di avvisare il cliente che la sua scheda non è DX10 compatibile non ci sarebbe voluto niente, visti tra l’altro tutti gli altri avvisi inutili che ricevo spesso da vista mentre lo sto utilizzando. Anche perché il windows update integrato in vista è in grado di fornirmi i driver aggiornati per il mio hardware senza che io vada sul sito dei produttori, quindi il SO conosce bene l’hardware in mio possesso. Trovo quantomeno fuorviante per un utente medio scrivergli che ha un DX10 senza avvisarlo che non potrà farne uso a causa della scheda video. Ho una ferrari ma non ho la chiave per accenderla: sto come prima
Ma è qui che sbagli, perchè prima di tutto DX10 per ciò che concerne il sitema operativo lo hai, perchè il sistema operativo non utilizza gli effetti esclusivi di DirectX 10, ad ogni modo dxdiag (che puoi lanciare da “esegui”) dovrebbe dirti tutto. Poi ti consiglio sempre in ogni caso di installare, per ottenere migliori risultati, i drivers del produttore della scheda video.
E’ proprio dxdiag che mi dice che ho Dx10 senza accennarmi a nessuna difficoltà (“La periferica funziona correttamente”).
Windows update (che è integrato nel sistema operativo con Vista, non devo andare nel sito, è un programma di sistema) mi fornisce dal server microsoft esattamente gli ultimi driver dei produttori dell’hardware installato.
Avere Dx10 (con tutto il discorso che abbiamo fatto fin qui) senza una scheda video che lo supporti è come avere Dx9c. Se dici di no è a tuo rischio e pericolo perché ricominciamo il discorso da capo. Uomo avvisato… complimenti per il blog comunque, e grazie per le spiegazioni
Grazie 🙂 si, hai capito il punto cmq, è come avere directx 9c, ma fin quando ci devi usare solo windows vista va più che bene. Infatti in realtà directx 10 non gestisce solo la grafica ma anche l’audio, le periferiche di input e la rete, per le quali non è necessario hardware specifico.
Ad ogni modo è sempre preferibile scaricare i drivers dai siti del produttore prima di tutto perchè quelli che ti scarica windows sono senza pannello di controllo, in secondo luogo perchè potrebbero non essere realmente aggiornati in quanto windows richiede un’analisi prima di rendere disponibile il driver anche sui propri canlali di update. In terzo luogo perchè in ogni caso non installerai mai drivers beta, che molto spesso risolvono problemi con applicazioni o con giochi specifici, in attesa che esca una nuova versione ufficiale (che potrebbe, come già detto al punto due, tardare ulteriormente).
scusate……ho il suo stesso problema……se io ho la dx 10 su xp ma la mia scheda video nn la supporta la dx 10 è come se giocassi in dx 9 giusto?……quindi nn deve darmi problemi cioè la dx 9 diciamo che sarebbe “compresa” nella dx 10?
@matti: Esattamente… non vengono sfruttate tutte le caratteristiche delle librerie dx10 non disponendo di un hw compatibile.
ok capito tutto grazie mille……(bel blog)….