Desktopduplizierung
Windows 8 führt eine neue DXGI-basierte API (Microsoft DirectX Graphics Infrastructure) ein, die es unabhängigen Softwareanbietern (ISVs) erleichtert, Desktopzusammenarbeit und Remotedesktopzugriffsszenarien zu unterstützen.
Solche Anwendungen werden häufig in Unternehmens- und Bildungsszenarien verwendet. Diese Anwendungen haben eine gemeinsame Anforderung: Zugriff auf die Inhalte eines Desktops zusammen mit der Möglichkeit, die Inhalte an einen Remotestandort zu transportieren. Die Windows 8 Desktopduplizierungs-APIs bieten Zugriff auf die Desktopinhalte.
Derzeit ermöglicht keine Windows-API einer Anwendung, dieses Szenario nahtlos zu implementieren. Daher verwenden Anwendungen Spiegel Treiber, Bildschirmabwracken und andere proprietäre Methoden, um auf die Inhalte des Desktops zuzugreifen. Für diese Methoden gelten jedoch die folgenden Einschränkungen:
- Es kann schwierig sein, die Leistung zu optimieren.
- Diese Lösungen unterstützen möglicherweise keine neueren Grafikrendering-APIs, da die APIs veröffentlicht werden, nachdem das Produkt ausgeliefert wurde.
- Windows stellt nicht immer umfangreiche Metadaten bereit, um die Optimierung zu unterstützen.
- Nicht alle Lösungen sind mit der Desktopkomposition in Windows Vista und höheren Versionen von Windows kompatibel.
Windows 8 führt eine DXGI-basierte API namens Desktopduplizierungs-API ein. Diese API ermöglicht den Zugriff auf den Inhalt des Desktops mithilfe von Bitmaps und zugehörigen Metadaten für Optimierungen. Diese API funktioniert mit aktiviertem Aero-Design und ist nicht von der Grafik-API abhängig, die Von Anwendungen verwendet wird. Wenn ein Benutzer die Anwendung auf der lokalen Konsole anzeigen kann, kann der Inhalt auch remote angezeigt werden. Dies bedeutet, dass sogar DirectX-Anwendungen im Vollbildmodus dupliziert werden können. Beachten Sie, dass die API Schutz vor dem Zugriff auf geschützte Videoinhalte bietet.
Die API ermöglicht es einer Anwendung, Windows anzufordern, zugriff auf den Inhalt des Desktops entlang der Monitorgrenzen bereitzustellen. Die Anwendung kann eine oder mehrere der aktiven Anzeigen duplizieren. Wenn eine Anwendung eine Duplizierung anfordert, geschieht Folgendes:
- Windows rendert den Desktop und stellt eine Kopie an die Anwendung bereit.
- Jeder gerenderte Frame wird im GPU-Speicher platziert.
- Jeder gerenderte Frame enthält die folgenden Metadaten:
- Geänderte Region
- Bildschirm-zu-Bildschirm-Verschiebungen
- Mauscursorinformationen
- Der Anwendung wird Zugriff auf Frame und Metadaten gewährt.
- Die Anwendung ist für die Verarbeitung der einzelnen Frames verantwortlich:
- Die Anwendung kann die Optimierung basierend auf modifiziert Region auswählen.
- Die Anwendung kann die Hardwarebeschleunigung zum Verarbeiten von Bewegungs- und Mausdaten verwenden.
- Die Anwendung kann vor dem Streaming die Hardwarebeschleunigung für die Komprimierung verwenden.
Ausführliche Dokumentation und Beispiele finden Sie unter Desktopduplizierungs-API.