Duplicazione desktop

Windows 8 introduce una nuova API basata su DXGI (Microsoft DirectX Graphics Infrastructure) per semplificare la collaborazione desktop e gli scenari di accesso desktop ai fornitori di software indipendenti (ISV).

Tali applicazioni sono ampiamente usate negli scenari aziendali e didattici. Queste applicazioni condividono un requisito comune: l'accesso al contenuto di un desktop insieme alla possibilità di trasportare il contenuto in una posizione remota. Le API di duplicazione di Windows 8 desktop consentono l'accesso al contenuto del desktop.

Attualmente, nessuna API Windows consente a un'applicazione di implementare facilmente questo scenario. Di conseguenza, le applicazioni usano driver mirror, la cancellazione dello schermo e altri metodi proprietari per accedere al contenuto del desktop. Tuttavia, questi metodi presentano il set di limitazioni seguente:

  • Può essere difficile ottimizzare le prestazioni.
  • Queste soluzioni potrebbero non supportare le API di rendering della grafica più recenti perché le API vengono rilasciate dopo la spedizione del prodotto.
  • Windows non fornisce sempre metadati avanzati per facilitare l'ottimizzazione.
  • Non tutte le soluzioni sono compatibili con la composizione desktop in Windows Vista e versioni successive di Windows.

Windows 8 introduce un'API basata su DXGI denominata API di duplicazione desktop. Questa API consente di accedere al contenuto del desktop usando bitmap e metadati associati per le ottimizzazioni. Questa API funziona con il tema Aero abilitato e non dipende dall'API grafica usata dalle applicazioni. Se un utente può visualizzare l'applicazione nella console locale, anche il contenuto può essere visualizzato in remoto. Ciò significa che anche le applicazioni DirectX a schermo intero possono essere duplicate. Si noti che l'API fornisce protezione dall'accesso al contenuto video protetto.

L'API consente a un'applicazione di richiedere a Windows di fornire l'accesso al contenuto del desktop lungo i limiti di monitoraggio. L'applicazione può duplicare uno o più schermi attivi. Quando un'applicazione richiede la duplicazione, si verifica quanto segue:

  • Windows esegue il rendering del desktop e fornisce una copia all'applicazione.
  • Ogni frame di cui è stato eseguito il rendering viene inserito in memoria GPU.
  • Ogni frame di cui è stato eseguito il rendering include i metadati seguenti:
    • Area dirty
    • Spostamenti da schermata a schermo
    • Informazioni sul cursore del mouse
  • All'applicazione viene fornito l'accesso ai frame e ai metadati.
  • L'applicazione è responsabile dell'elaborazione di ogni frame:
    • L'applicazione può scegliere di ottimizzare in base all'area dirty.
    • L'applicazione può scegliere di usare l'accelerazione hardware per elaborare i dati di spostamento e mouse.
    • L'applicazione può scegliere di usare l'accelerazione hardware per la compressione prima dello streaming.

Per la documentazione dettagliata e gli esempi, vedere API di duplicazione desktop.