Windows Vista: reale progresso e arte dell'omissione

Le ultime schede grafiche offrono prestazioni 2D inferiori a quelle di un chip integrato.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Windows Vista: reale progresso e arte dell'omissione

Windows Vista, sistema intricato, complesso, avanzato e che ha certamente generato grandi aspettative.

Molte luci e ombre, ma nessuna accelerazione hardware 2D

Tuttavia ciò che sembrava così rivoluzionario in un primo momento, è stata una delusione da un'applicazione all'altra, e alcune volte si è trattato di puro e semplice orrore. Entriamo nel dettaglio:

Implementazione del layer 2.5D in hardware

Questa tecnologia è stata implementata per la prima volta in Windows Vista, sistema messo in commercio nel 2006, dopo una lunga attesa. 

C'era, malgrado tutto, ancora una piccola limitazione: funzionava solo quando l'interfaccia Aero era attiva. Inoltre, il layering 2.5D richiedeva una scheda video 3D, persino per chi non usava applicazioni 3D o giochi. Coloro che usavano solo il tema Vista Basic avrebbero sofferto dello stesso tipo di sfocature o effetti ripetuti che hanno sperimentato gli utenti XP, perchè il layering 2.5D era stato disabilitato automaticamente, persino con una scheda video 3D installata. Ohi!

Slow Snapshots

Il passaggio al layering 2.5D ha lasciato a Microsoft più di qualche problema da risolvere. Vista era percepito come lento, ma molto stabile. Che cosa è successo? Abbiamo già affermato che GDI era l'interfaccia chiave per la programmazione grafica. In seguito all'introduzione di GDI+, estensione GDI molto lenta basata su C++, un non-processo tecnico a causa delle sue prestazioni, non abbiamo potuto negare la possibilità di un certo grado caos nell'interfaccia. In realtà sembra molto improbabile che GDI, GDI+, DirectDraw e Direct3D potranno essere mai contemporaneamente oggetto di accelerazione hardware.

WDDM & DWM - Windows Display Driver Model e Dynamic Windows Manager

Insieme a un nuovo device driver model, Windows ha introdotto DWM, un modo per amministrare i dispositivi visualizzati. L'intera cosa era un po' un trucchetto, fatta aggiungendo da un parte un layer di software (e complessità) tra le finestre e comandi di progettazioni, e tra i driver e i dispositivi dall'altra. Anche le comunicazioni dirette erano state interrotte grazie a DWM. Mantenendo il motto "tutto funziona al mio comando", DWM assume il coordinamento di tutte le singole interfacce grafiche. Questo cambiamento ha messo da parte anche capacità grafiche importanti, come abbiamo già detto - ovvero, l'accelerazione hardware di funzioni di progettazione GDI. Completamente incomprensibile, ma vero!

Collo di bottiglia e affamato di memoria

La maggior parte dei grandi quantitativi di memoria consumati da Vista sono stati attribuiti a SuperFetch. Purtroppo, questo è vero solo in parte. L'omissione dell'accelerazione hardware 2D ha caricato sulla CPU tutta la gestione delle chiamate GDI per renderizzare i contenuti in finestra. Il tutto è stato avvolto in megabuffer all'interno di DWM. I rendering completi della finestra sarebbero poi stati consegnati alla scheda grafica. Questo ha ben presto imposto un freno allo sviluppo, perchè solo una finestra alla volta poteva inviare comandi GDI al DWM. Le operazioni asincrone non erano permesse, portando a una lunga coda di richieste in attesa. Questo non solo richiedeva molto tempo, ma consumava anche molta memoria, perchè tutte le finestre attive risiedevano in un buffer di memoria DWM. Con più finestre da 100 MB ciascuna, non passava molto prima che il consumo di memoria diventasse elevato. Nei casi più estremi, Vista si sarebbe semplicemente bloccato- per esempio, aprendo una finestra dopo l'altra. Alla fine non funzionava più nulla e bisognava arrestare il sistema per riguadagnarne il controllo.

Raddoppiare il consumo di memoria non raddoppia il vostro divertimento (Fonte: Microsoft)

Sommario

  • Vista introduce l'accelerazione hardware per il Layering Model 2.5D
  • Con Aero attivato, la riprogettazione per i tutti i contenuti di Windows diventa una cosa del passato
  • Microsoft omette l'accelerazione hardware per il disegno di funzioni 2D GDI
  • DWM non può lavorare con le finestre in modo asincrono, a scapito delle prestazioni grafiche
  • La coda di attesa all'interno di DWM per i comandi GDI richiede enormi quantità di RAM