Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gli sviluppatori di applicazioni Windows hanno a lungo usato Microsoft DirectX per fornire grafica con accelerazione hardware, 3D di alta qualità. Quando la tecnologia ha debuttato nel 1995, gli sviluppatori possono fornire grafica 3D di alta qualità per giochi e applicazioni di progettazione per giocatori e professionisti disposti a pagare extra per una scheda grafica 3D. Ora, anche i PC più economici includono hardware 3D-graphics in grado.
Per sfruttare queste funzionalità grafiche, Windows Vista ha introdotto l'infrastruttura WDDM (Windows Display Driver Model) per DirectX che ha abilitato più applicazioni e servizi per condividere le risorse dell'unità di elaborazione grafica (GPU). Desktop Window Manager (DWM) usa questa tecnologia per animare il cambio di attività in 3D, fornire immagini di anteprima dinamiche delle finestre dell'applicazione e fornire effetti windows Aero glass per applicazioni desktop.
Windows 7 mette ancora più funzionalità grafiche nelle mani degli sviluppatori di applicazioni. Attraverso un nuovo set di DirectXAPIs, gli sviluppatori di Microsoft Win32 possono sfruttare le innovazioni più recenti nelle GPU per aggiungere grafica, testo e immagini 3D veloci, scalabili, scalabili, di alta qualità, testo e immagini alle proprie applicazioni. Nella visualizzazione LCD più recente, DirectXAPIs può visualizzare contenuti desktop e finestra usando la profondità di colore maggiore di 8 bit per ogni componente di colore.
Con DirectX, gli sviluppatori Win32 possono usare anche il parallelismo della GPU per il calcolo generico, ad esempio l'elaborazione delle immagini e possono eseguire il rendering in hardware DirectX 10, hardware DirectX 9, CPU o in un computer Windows remoto. Queste tecnologie sono state progettate per interagire con Windows Graphics Device Interface (GDI) e Windows GDI+, garantendo che gli sviluppatori possano mantenere facilmente gli investimenti esistenti nel codice Win32. Vedere Novità di DirectX SDK di marzo 2009.
Queste funzionalità grafiche avanzate sono fornite dalle API basate su COM seguenti:
- Direct2D per la grafica 2D di disegno.
- DirectWrite per la disposizione e il rendering del testo.
- Componente immagine windows per l'elaborazione e la visualizzazione di immagini.
- Direct3D 10 per la grafica 3D di disegno.
- Direct3D 11 per la grafica 3D di disegno e fornisce l'accesso alle tecnologie GPU di nuova generazione, ad esempio tessellazione, supporto limitato per lo streaming di trame e calcolo per utilizzo generico.
- DirectX Graphics Infrastructure (DXGI) per la gestione di dispositivi di visualizzazione locali e remoti e risorse GPU e l'interoperabilità tra DirectX e GDI.
Direct2D
Basato su Microsoft Direct3D 10, Direct2D offre agli sviluppatori Win32 la modalità immediata, le API indipendenti dalla risoluzione, 2D che usano la potenza dell'hardware grafico di nuova generazione, ma interoperano bene con le applicazioni GDI/GDI+ di oggi e le applicazioni Direct3D 10. Direct2D offre un rendering 2D di alta qualità con prestazioni superiori a GDI e GDI+. Fornisce agli sviluppatori Win32 il controllo più corretto sulle risorse e sulla gestione. Vedere Direct2D.
DirectWrite
Molte delle applicazioni odierne devono supportare il rendering di testo di alta qualità, i tipi di carattere struttura indipendenti dalla risoluzione e il supporto completo di testo e layout Unicode. DirectWrite, un nuovo componente DirectX, offre queste funzionalità e altro ancora:
- Un sistema di layout di testo indipendente dal dispositivo che migliora la leggibilità del testo nei documenti e nell'interfaccia utente.
- Rendering di testo di alta qualità, sub pixel, ClearType che può usare la tecnologia di rendering GDI, Direct2D o specifica dell'applicazione.
- Testo accelerato hardware, quando usato con Direct2D.
- Supporto per il testo multiformato.
- Supporto per le funzionalità avanzate di tipografia dei tipi di carattere OpenType .
- Supporto per il layout e il rendering del testo in tutte le lingue supportate.
- Layout e rendering compatibili con GDI.
Il sistema di tipi di carattere DirectWrite consente l'utilizzo dei tipi di carattere "qualsiasi carattere ovunque", in cui gli utenti non devono eseguire un passaggio di installazione separato solo per usare un tipo di carattere e una gerarchia strutturale migliorata del raggruppamento dei tipi di carattere per facilitare l'individuazione manuale o del carattere a livello di codice. Le API supportano la misurazione, il disegno e il hit test di testo multiformato. DirectWrite gestisce il testo in tutte le lingue supportate per applicazioni globali e localizzate, creando l'infrastruttura del linguaggio chiave disponibile in Windows 7. DirectWrite fornisce anche API di rendering di glifi di basso livello per gli sviluppatori che vogliono eseguire il proprio layout e l'elaborazione da glifo a Unicode. Vedere DirectWrite.)
Componente Windows Imaging
In Windows Vista, il componente immagine di Windows ha introdotto un framework estendibile per l'uso di immagini e metadati dell'immagine. I formati di immagine supportati da Windows Imaging Component includono JPEG, PNG e TIFF e i formati di metadati supportati includono XMP e EXIF. Con Windows 7, Windows Imaging Component amplia la conformità degli standard fornendo supporto per la decodifica progressiva delle immagini, le funzionalità PNG espanse, i metadati GIF e i metadati che si estendono sui segmenti APPn . Vedere Novità per WIC in Windows 7.
Direct3D 11
Microsoft Direct3D 11 estende la funzionalità della pipeline Direct3D 10 e fornisce giochi Windows 7 e applicazioni 3D di alto livello con accesso efficiente, affidabile e scalabile alla prossima generazione di GPU e CPU multi-core. Oltre alle funzionalità trovate in Direct3D 10, Direct3D 11 introduce diverse nuove funzionalità.
Le superfici geometry e high order possono ora essere tessellate per supportare contenuti scalabili e dinamici nelle rappresentazioni di superficie di patch e suddivisione.
Per sfruttare al meglio la potenza di elaborazione parallela disponibile da più core CPU, il multithreading aumenta il numero di potenziali chiamate di rendering per frame distribuendo le chiamate di applicazione, runtime e driver in più core. Inoltre, la creazione e la gestione delle risorse è stata ottimizzata per l'uso multithreading, consentendo una gestione dinamica più efficiente per lo streaming.
Sono stati creati nuovi shader di calcolo per utilizzo generico per Direct3D 11. A differenza dei shader esistenti, queste sono estensioni alla pipeline programmabile che consente all'applicazione di eseguire più operazioni completamente sulla GPU, indipendentemente dalla CPU. DrawAuto, che è stato introdotto in Direct3D 10, è stato esteso per interagire con un compute shader.
Sono stati apportati diversi miglioramenti al linguaggio di ombreggiatura di alto livello (HLSL), ad esempio una forma limitata di collegamento dinamico nei shader per migliorare la complessità della specializzazione e costrutti di programmazione orientata agli oggetti, ad esempio classi e interfacce. Vedere Novità di DirectX SDK di marzo 2009.
Miglioramenti di Direct3D 10
Direct3D 10 include una pipeline grafica riprogettata con fasi programmabili dello shader e oggetti di stato non modificabili per inizializzare le fasi fisse della funzione. Gli oggetti di stato semplificano la pipeline e migliorano le prestazioni riducendo al minimo il numero di modifiche di stato necessarie. La programmabilità delle fasi dello shader offre ora estensioni del linguaggio di ombreggiatura di alto livello per supportare istruzioni di shader illimitate, risorse di shader generalizzate e calcoli interi e bit per bit.
La pipeline introduce anche la fase geometry shader, che scarica completamente dalla CPU alla GPU. Questa nuova fase consente di creare geometria, trasmettere i dati alla memoria e eseguire il rendering della geometria senza interazione della CPU.
Diversi altri miglioramenti sono progettati in modo specifico per prestazioni più veloci. Il rendering predicato esegue l'occlusione per ridurre la quantità di geometria di cui viene eseguito il rendering. Le API di instancing possono ridurre notevolmente la quantità di geometria che deve essere trasferita alla GPU disegnando più istanze di oggetti simili. Le matrici di trame consentono alla GPU di eseguire lo scambio di trame senza intervento della CPU.
Sono state apportate diverse aggiunte a Direct3D 10 e Direct3D 11 per estendere il gamma di configurazioni che possono essere destinate a queste API. Windows Advanced Rasterization Platform (WARP) implementa il rendering della CPU scalabile a più core rapido per Direct3D 10, abilitando il rendering della grafica completo nei sistemi senza hardware grafico. L'aggiunta di nuovi "Livelli di funzionalità", denominata in particolare Direct3D 10 Level 9, consente all'applicazione Direct3D 10 e Direct3D 11APIs di guidare l'hardware di classe Microsoft Direct3D 9, espandendo il numero di configurazioni di un'applicazione Direct3D 10 o Direct3D 11 può essere destinato a quasi tutti i sistemi computer sul mercato. Vedere Grafica Direct3D 10.
Interoperabilità DirectX/GDI
In Windows Vista il comportamento di un'applicazione che usa DirectX e GDI per eseguire il rendering in una superficie condivisa è diversa a seconda che DWM sia attivo o disattivato. Inoltre, quando DWM è attivo, le applicazioni che usano DirectX e GDI si comportano in modo diverso in Windows Vista rispetto a Windows XP. Ciò ha causato la disabilitazione di molti ISV durante l'esecuzione delle applicazioni in Windows Vista per garantire un comportamento coerente. Con i miglioramenti apportati a DirectX in Windows 7, un'applicazione può ora combinare liberamente DirectX e GDI senza disabilitare DWM. Windows 7 offre anche prestazioni migliorate per gli scenari che richiedono l'interoperabilità tra DirectX e GDI usando le API Direct3D 10 più efficienti. Vedere Panoramica dell'interoperabilità direct2D e GDI.