Condividi tramite


Gestione finestre desktop

Prima di Windows Vista, un programma Windows disegnava direttamente sullo schermo. In altre parole, il programma scriverà direttamente nel buffer di memoria visualizzato dalla scheda video. Questo approccio può causare artefatti visivi se una finestra non viene ridisegnata correttamente. Ad esempio, se l'utente trascina una finestra su un'altra finestra e la finestra sottostante non riavpinge se stessa abbastanza rapidamente, la finestra superiore può lasciare un percorso:

uno screenshot che mostra gli artefatti di ridisegno.

Il percorso è causato dal fatto che entrambe le finestre dipingono nella stessa area di memoria. Quando la finestra superiore viene trascinata, la finestra sotto di essa deve essere ridisegnata. Se il ridisegno è troppo lento, esso causa gli artefatti visualizzati nell'immagine precedente.

Windows Vista ha sostanzialmente modificato il modo in cui vengono disegnate le finestre, introducendo Desktop Window Manager (DWM). Quando il DWM è abilitato, una finestra non disegna più direttamente sul buffer di visualizzazione. Ogni finestra disegna invece un buffer di memoria offscreen, detto anche superficie fuori schermo . Il DWM poi compone queste superfici sullo schermo.

un diagramma che mostra come il dwm composita il desktop.

DWM offre diversi vantaggi rispetto all'architettura grafica precedente.

  • Meno messaggi di ridisegno. Quando una finestra viene ostruita da un'altra finestra, la finestra ostruita non deve ridisegnarsi.
  • Artefatti ridotti. In precedenza, il trascinamento di una finestra poteva creare artefatti visivi, come descritto.
  • Effetti visivi. Poiché il DWM è responsabile della composizione dello schermo, può eseguire il rendering di aree traslucenti e sfocate della finestra.
  • Scalabilità automatica per valori DPI elevati. Anche se il ridimensionamento non è il modo ideale per gestire valori DPI elevati, è un fallback praticabile per le applicazioni meno recenti che non sono state progettate per impostazioni DPI elevate. Si tornerà a questo argomento più avanti, nella sezione DPI e Device-Independent Pixel.)
  • Visualizzazioni alternative. DWM può usare le superfici offscreen in vari modi interessanti. Ad esempio, DWM è la tecnologia alla base di Windows Flip 3D, anteprime e transizioni animate.

Si noti, tuttavia, che il DWM non è garantito che sia abilitato. La scheda grafica potrebbe non supportare i requisiti di sistema DWM e gli utenti possono disabilitare DWM tramite Proprietà di sistema pannello di controllo. Ciò significa che il tuo programma non deve basarsi sul comportamento di ridipintura del DWM. Testa il tuo programma con DWM disabilitato per garantire che venga ridisegnato correttamente.

Prossimo

modalità mantenuta rispetto alla modalità immediata