桌面重複
Windows 8 引進新的 Microsoft DirectX Graphics Infrastructure (DXGI) 型 API,讓獨立軟體廠商更容易 (ISV) ,以支援桌面共同作業和遠端桌面存取案例。
這類應用程式廣泛使用於企業與教育案例中。 這些應用程式共用常見的需求:存取桌面的內容,以及將內容傳輸至遠端位置的能力。 Windows 8 桌面重複 API 提供桌面內容的存取權。
目前沒有任何 Windows API 可讓應用程式順暢地實作此案例。 因此,應用程式會使用鏡像驅動程式、螢幕抓取和其他專屬方法來存取桌面的內容。 不過,這些方法有下列一組限制:
- 優化效能可能很困難。
- 這些解決方案可能不支援較新的圖形轉譯 API,因為 API 會在產品出貨之後發行。
- Windows 不一定會提供豐富的元數據來協助優化。
- 並非所有解決方案都與 Windows Vista 和更新版本的 Windows 桌面組合相容。
Windows 8 引進名為桌面重複 API 的 DXGI 型 API。 此 API 會使用位陣圖和相關聯的元數據來存取桌面的內容,以進行優化。 此 API 可搭配啟用的[快取] 主題運作,且不相依於應用程式所使用的圖形 API。 如果使用者可以在本機控制台上檢視應用程式,也可以從遠端檢視內容。 這表示甚至可以複製全螢幕 DirectX 應用程式。 請注意,API 會提供保護,以防止存取受保護的視訊內容。
API 可讓應用程式要求 Windows,以沿著監視界限提供桌面內容的存取權。 應用程式可以複製一或多個使用中的顯示器。 當應用程式要求重複時,會發生下列情況:
- Windows 會轉譯桌面,並提供應用程式的複本。
- 每個轉譯的框架都會放在 GPU 記憶體中。
- 每個轉譯的框架都隨附下列元數據:
- 中途區域
- 螢幕到螢幕移動
- 滑鼠游標資訊
- 應用程式會提供框架和元數據的存取權。
- 應用程式負責處理每個畫面:
- 應用程式可以選擇根據中途區域進行優化。
- 應用程式可以選擇使用硬體加速來處理移動和滑鼠數據。
- 應用程式可以選擇在串流處理之前使用硬體加速進行壓縮。
如需詳細的檔和範例,請參閱 桌面重複 API。