2D GDI per Windows XP attraverso Windows 7, in dettaglio, continua
- Pagina 1 : Problemi accelerazione 2D, schede grafiche a confronto
- Pagina 2 : Tom2D: Output test
- Pagina 3 : Un Driver Hotfix per risolvere i problemi
- Pagina 4 : Conclusioni
- Pagina 5 : Tom2D: Stretching
- Pagina 6 : Tom2D: Blitting
- Pagina 7 : Tom2D: Ellissi
- Pagina 8 : Tom2D: Rettangoli
- Pagina 9 : Tom2D: Poligoni
- Pagina 10 : Tom2D Spline e Curve di Bézier
- Pagina 11 : Tom2D: Output linea
- Pagina 12 : 2D GDI per Windows XP attraverso Windows 7, in dettaglio
- Pagina 13 : Come agisce
- Pagina 14 : Tom2D: il nostro semplice benchmark 2D GDI
- Pagina 15 : Quali tipi di programmi sono colpiti?
- Pagina 16 : I sintomi delle Radeon HD 5000 e la loro rilevanza in Windows 7
- Pagina 17 : Output real-time con posizionamento e modifica di oggetti 2D
- Pagina 18 : Output della grafica 2D con GDI: Diretto o Buffered?
- Pagina 19 : 2D GDI per Windows XP attraverso Windows 7, in dettaglio, continua
- Pagina 20 : 2D GDI per Windows XP attraverso Windows 7, in dettaglio, continua
Windows Vista: CPU anziché GPU, e buffering anziché consegna diretta
Come spiegato nel primo articolo, Vista ha introdotto un path completamente nuovo per gestire i dati grafici nel sistema operativo. Usando la GDI, tutte le versioni di Windows (fino a XP incluso) amministravano il disegno 2D attraverso output da win32k.sys per gestire i contenuti in finestra sullo schermo.
In Vista, il DWM (dynamic window manager) si è preso questo ruolo. Di conseguenza, Vista usa solo le Direct3D per amministrare le finestre. Ogni finestra, per ogni applicazione, è stata scritta per immagazzinare texture come una texture map 3D sulla scheda video. Questa è un’evoluzione funzionale per le moderne schede grafiche, ma significa anche che la GDI non può più leggere o scrivere questi dati. In questa situazione, la catena di comunicazione sembra essersi rotta.
A questo punto, entra in gioco il doppio buffering dei contenuti in finestra di cui abbiamo scritto nella Parte 1 di questo articolo.
Che cosa succede esattamente? Osservate le frecce rosse nel diagramma precedente. Al posto di un driver grafico unificato (in XP è chiamato DDI Display Driver) c’è il nuovo CDD (Canonical Display Driver). Questo modulo è indipendente dalle schede video in Windows Vista.
Finché il contenuto in attesa della finestra viene memorizzato come una texture map nella RAM della scheda grafica, ogni finestra deve anche essere memorizzata in un buffer equivalente nella RAM di sistema.
Dopo che è stato convertito in una texture map 3D nella RAM della scheda video, il rendering più recente di ogni finestra viene trasformato in una bitmap nel buffer della RAM di sistema. DWM amministra completamente tutte le finestre e sposta i loro contenuti usando Direct3D. DMW, inoltre, integra dati riguardanti le porzioni di ogni finestra che devono essere rese visibili a schermo, in modo che qualsiasi regione in una finestra che venga oscurata o mostrata, possa essere ridisegnata (osservate la freccia blu nella figura precedente). In questo momento DWM copia i contenuti della RAM di sistema in quella video, effettuando il redering della finestra con Direct3D. Le applicazioni non hanno più bisogno di ridisegnare la finestra (in contrasto con il metodo di funzionamento di Windows XP).
L’approccio summenzionato disabilita effettivamente l’accelerazione hardware 2D, portando una riduzione prestazionale significativa rispetto a Windows XP. Ciò si manifesta più chiaramente con la ben documentata tendenza di Vista di trascinare la grafica 2D e consumare più RAM.
- Pagina 1 : Problemi accelerazione 2D, schede grafiche a confronto
- Pagina 2 : Tom2D: Output test
- Pagina 3 : Un Driver Hotfix per risolvere i problemi
- Pagina 4 : Conclusioni
- Pagina 5 : Tom2D: Stretching
- Pagina 6 : Tom2D: Blitting
- Pagina 7 : Tom2D: Ellissi
- Pagina 8 : Tom2D: Rettangoli
- Pagina 9 : Tom2D: Poligoni
- Pagina 10 : Tom2D Spline e Curve di Bézier
- Pagina 11 : Tom2D: Output linea
- Pagina 12 : 2D GDI per Windows XP attraverso Windows 7, in dettaglio
- Pagina 13 : Come agisce
- Pagina 14 : Tom2D: il nostro semplice benchmark 2D GDI
- Pagina 15 : Quali tipi di programmi sono colpiti?
- Pagina 16 : I sintomi delle Radeon HD 5000 e la loro rilevanza in Windows 7
- Pagina 17 : Output real-time con posizionamento e modifica di oggetti 2D
- Pagina 18 : Output della grafica 2D con GDI: Diretto o Buffered?
- Pagina 19 : 2D GDI per Windows XP attraverso Windows 7, in dettaglio, continua
- Pagina 20 : 2D GDI per Windows XP attraverso Windows 7, in dettaglio, continua
Indice
- 1 . Problemi accelerazione 2D, schede grafiche a confronto
- 2 . Tom2D: Output test
- 3 . Un Driver Hotfix per risolvere i problemi
- 4 . Conclusioni
- 5 . Tom2D: Stretching
- 6 . Tom2D: Blitting
- 7 . Tom2D: Ellissi
- 8 . Tom2D: Rettangoli
- 9 . Tom2D: Poligoni
- 10 . Tom2D Spline e Curve di Bézier
- 11 . Tom2D: Output linea
- 12 . 2D GDI per Windows XP attraverso Windows 7, in dettaglio
- 13 . Come agisce
- 14 . Tom2D: il nostro semplice benchmark 2D GDI
- 15 . Quali tipi di programmi sono colpiti?
- 16 . I sintomi delle Radeon HD 5000 e la loro rilevanza in Windows 7
- 17 . Output real-time con posizionamento e modifica di oggetti 2D
- 18 . Output della grafica 2D con GDI: Diretto o Buffered?
- 19 . 2D GDI per Windows XP attraverso Windows 7, in dettaglio, continua
- 20 . 2D GDI per Windows XP attraverso Windows 7, in dettaglio, continua