Neuerungen in Direct2D
Hier sind einige der neuen Ergänzungen zu Direct2D.
Neuerungen für Windows 10 Creators Update
Die folgenden Features und APIs wurden für Windows 10 Creators Update hinzugefügt oder aktualisiert.
Unterstützung für SVG-Bildrendering
Ab Windows 10 Creators Update bietet Direct2D Unterstützung für das Analysieren und Zeichnen von SVG-Bildern, sodass Entwickler Objekte rendern können, die in ihren bevorzugten Vektorkunsttools erstellt wurden, ohne sie zuerst in Rasterbilder zu konvertieren. Verwenden Sie dieses Feature, um den Speicherplatz und das Skalierungsverhalten Ihrer In-App-Ikonografie zu verbessern, und verwenden Sie die neuen SVG-Objektmodell-APIs von Direct2D, um programmgesteuerte Änderungen an der SVG Ihrer App vorzunehmen. Beachten Sie, dass Direct2D nur eine begrenzte Teilmenge von SVG unterstützt, die für Bilder geeignet ist, und nicht alle SVG-Zeichnungsfeatures. Wenn Sie SVG-Kompatibilität auf Browserniveau oder die weborientierten Features von SVG benötigen, sollten Sie stattdessen das XAML-WebView-Steuerelement verwenden. Weitere Informationen finden Sie in den folgenden Themen:
- Beispiel zum Rendern von Direct2D-SVG-Bildern
- SVG-Unterstützung
- ID2D1DeviceContext5::CreateSvgDocument-Methode
- ID2D1DeviceContext5::D rawSvgDocument-Methode
- ID2D1SvgElement-Schnittstelle
Verbesserte Unterstützung für die Farbverwaltung
Ab Windows 10 Creators Update bietet Direct2D verbesserte Farbverwaltungsfunktionen. Entwickler benötigen kein ICC-Profil mehr, um den Farbverwaltungseffekt von Direct2D zu verwenden. Sie können jetzt DXGI-Farbräume verwenden oder eine eigene parametrisierte Farbraumdefinition erstellen. Weitere Informationen finden Sie in den folgenden Themen:
- Farbverwaltungseffekt
- ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace
- ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile
Neuerungen für Windows 10 Anniversary Update
Die folgenden Features und APIs wurden für Windows 10 Anniversary Update hinzugefügt oder aktualisiert.
Verbesserte Unterstützung für farbige Schriftarten
Ab Windows 10 Anniversary Update unterstützt Direct2D jetzt das Rendern einer größeren Vielfalt von Farbschriftartenformaten, sodass Entwickler mehr Schriftarttypen in ihren Direct2D-basierten Apps als je zuvor verwenden können. Unter anderem werden folgende Elemente unterstützt:
- Die OpenType-Tabelle "COLR", die kompakte Vektorinhalte in Schriftarten ermöglicht. (Wird seit Windows 8.1 unterstützt.)
- Die OpenType-Tabelle "SVG", die SVG-Inhalte in Schriftarten aktiviert.
- Die OpenType-Tabelle "CBDT", die Farb-Bitmapinhalte in Schriftarten ermöglicht.
- Die OpenType-Tabelle "sbix", die farbbezogene Bitmapinhalte in Schriftarten ermöglicht.
Direct2D unterstützt diese Farbschriftartenformate automatisch, wenn das flag D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT aktiviert ist. Weitere Informationen finden Sie in den folgenden Themen:
Neue Bildeffekte
Ab Windows 10 Anniversary Update umfasst Direct2D die Effekte AlphaMask, CrossFade, Deckkraft und Farbton. Diese Funktionalität war zuvor über bestimmte Konfigurationen von Composite-, ArithmeticComposite- und ColorMatrix-Effekten verfügbar, aber die neuen integrierten Effekte erleichtern die Ausführung dieser gängigen Vorgänge.
Neuerungen bei Windows 10
Die folgenden Features und APIs wurden für Windows 10 hinzugefügt oder aktualisiert.
Sprite-Batches
Ab Windows 10 unterstützt Direct2D das Erstellen und Rendern von Spritebatches. Im Vergleich zur universellen DrawImage-Methode verursachen Spritebatches erheblich weniger CPU-Aufwand pro Image. Dies macht sie ideal für Szenarien mit Hunderten oder Tausenden gleichzeitiger Bilder, z. B. Spiel-Sprites oder Partikelsysteme. Weitere Informationen finden Sie in den folgenden Themen:
- ID2D1DeviceContext3::CreateSpriteBatch-Methode
- ID2D1DeviceContext3::D rawSpriteBatch-Methoden
- ID2D1SpriteBatch-Schnittstelle
Farbverlaufsgitter
Ab Windows 10 stellt Direct2D einen neuen Grundtyp für Farbverlaufsgitter bereit. Farbverlaufsgitter werden häufig von professionellen Illustratoren in Grafikdesignsoftware verwendet, und sie ermöglichen es Künstlern, komplexe (sogar fotorealistische) mehrfarbige Formen mit allen Speicher- und Skalierbarkeitsvorteilen von Vektoren zu rendern. Weitere Informationen finden Sie in den folgenden Themen:
- Beispiel für ein Direct2D-Farbverlaufsgitter
- D2D1_GRADIENT_MESH_PATCH Struktur
- ID2D1DeviceContext2::D rawGradientMesh-Methode
Verbesserte ApIs zum Laden von Bildern
Ab Windows 10 bietet Direct2D eine neue API zum Laden von Bildern, ID2D1ImageSource. Die Bildquelle verbessert vorhandene Bildlade-APIs, einschließlich CreateBitmapFromWicBitmap, des Bitmap Source-Effekts und des YCbCr-Effekts. Die Direct2D-Bildquelle kombiniert die Funktionen dieser APIs mit Unterstützung für beliebig große Bilder, einfacher Integration in Druck und Effekte sowie zahlreichen Optimierungen, einschließlich YCbCr JPEG und indiziertem JPEG. Weitere Informationen finden Sie in den folgenden Themen:
- Beispiel für das Direct2D Photo Adjustment SDK
- ID2D1ImageSource
- ID2D1ImageSourceFromWic
- IWICJpegFrameDecode::SetIndexing
Verbesserte Unterstützung für das Rendern von Freihand
Ab Windows 10 stellt Direct2D ein neues Grundelement zur Darstellung von Freihandstrichen bereit. Direct2D-Freihandstriche werden durch Bézierkurven definiert, unterstützen unterschiedliche Federformen und Transformationen und weisen möglicherweise eine feste oder variable Dicke auf. Die integrierte Unterstützung von Direct2D für Freihandstriche ermöglicht Es Apps, auf einfache Weise schnellere und schönere Freihandeingaben als frühere Ansätze zu rendern, die in der Regel apps erforderten, die Freihand selbst zu verwalten, als eine Reihe von Ellipsen und Vierecken. Weitere Informationen finden Sie in den folgenden Themen:
Effektshaderverknüpfung
Direct2D-Effekte werden mithilfe von HLSL-Pixel-, Scheitel- und/oder Compute-Shadern implementiert. Ab Windows 10 analysiert Direct2D jetzt automatisch Effektdiagramme auf Möglichkeiten zum Kombinieren und Ausführen einzelner Shader. Dies kann zu einer erheblichen Erhöhung des Effektdurchsatzes führen. Benutzer von integrierten Effekten müssen nichts tun, um von der Effekt-Shaderverknüpfung zu profitieren, aber Entwickler, die ihre eigenen benutzerdefinierten Effekte erstellen, sollten aktualisierte bewährte Methoden für die Nutzung der Effektshaderverknüpfung befolgen. Weitere Informationen finden Sie in den folgenden Themen:
- Effektshader-Verknüpfung
- Direct2D HLSL-Hilfsprogramme
- SDK-Beispiel für benutzerdefinierte Direct2D-Effekte
Die Verknüpfung von Effekt-Shadern ist so konzipiert, dass sie sich nicht auf die visuelle Ausgabe von Effekten auswirkt. Dies ist jedoch aufgrund eines spezifischen Verhaltens um Effektgenauigkeit und numerisches Abschneiden nicht immer möglich. Weitere Informationen zum Steuern dieser Verhaltensweisen finden Sie unter:
Neue integrierte Effekte
Ab Windows 10 enthält Direct2D eine Vielzahl neuer integrierter Effekte, die die wichtigsten Entwickleranforderungen adressieren und neue Arten von visuellen Szenarien ermöglichen. Die neuen Effekte sind:
Farbe:
Foto:
- Kontrasteffekt
- Expositionseffekt
- Graustufeneffekt
- Hervorhebungen und Schatteneffekt
- Effekt umkehren
- Sepia-Effekt
- Effekt "Schärfen"
- Begradigungseffekt
- Temperatur- und Farbeffekt
- Vignetteneffekt
Filter:
Stilisieren:
Transparenz:
Die Effekte "Geraden", "Sättigung", "Kontrast", "Highlights" und "Schatten" sowie "Temperatur" und "Tön" werden im Beispiel des Direct2D Photo Adjustment SDK veranschaulicht.
Neuerungen für Windows 8.1
Die folgenden Features und APIs wurden für Windows 8.1 hinzugefügt oder aktualisiert.
Ab Windows 8.1 basiert Direct2D auf Direct3D 11.2.
Geometrierealisierungen
Ab Windows 8.1 bietet Direct2D Geometrierealisierungen. Geometrierealisierungen ermöglichen Es Anwendungen, die Leistung des Geometrierenderings in bestimmten Situationen zu verbessern, ohne dass die Geometrie in einer Bitmap gerastert wird. Weitere Informationen finden Sie in den folgenden Themen:
Unterstützung für JPEG-YCbCr-Bilder
Ab Windows 8.1 bietet Direct2D Unterstützung für das Rendern von Bilddaten im JPEG Y'CbCr-Format. Apps können JPEG-Inhalte in der nativen Y'CbCr-Darstellung rendern, anstatt in BGRA zu dekomprimieren. Dies kann den Grafikspeicherverbrauch und die Ressourcenerstellungszeit erheblich reduzieren. Weitere Informationen finden Sie in den folgenden Themen:
Unterstützung für komprimierte Blockformate (DDS-Dateien)
Ab Windows 8.1 bietet Direct2D Unterstützung für Bitmaps, die DXGI_FORMAT_BC1_UNORM-, DXGI_FORMAT_BC2_UNORM- und DXGI_FORMAT_BC3_UNORM Pixeldaten enthalten. Apps können ihre Imageressourcen durch blockkomprimierte DDS-Images ersetzen. Dies kann den Grafikspeicherverbrauch und die Ressourcenerstellungszeit erheblich reduzieren. Weitere Informationen finden Sie in den folgenden Themen:
Renderingpriorität
Ab Windows 8.1 bietet Direct2D Unterstützung für die Geräterenderingpriorität. Mit diesem neuen Feature können Apps ein Gerät zwischen normaler Renderingpriorität (Standard) und niedriger Renderingpriorität (bei der das Gerät keine anderen Renderingaufgaben auf dem System blockiert) umschalten. Es wird empfohlen, dass Apps eine niedrige Renderingpriorität für Aufgaben verwenden, die für die Reaktionsfähigkeit des Benutzers nicht von entscheidender Bedeutung sind, z. B. Vorabrendern von Inhalten, Rendering bei minimiertem Rendern und anderen Vorgängen, die normalerweise im Hintergrund ausgeführt werden. Weitere Informationen finden Sie in den folgenden Themen:
Neuerungen für Windows 8
Die folgenden Features und APIs wurden für Windows 8 hinzugefügt oder aktualisiert.
Die neuen Direct2D-Schnittstellen werden unter Windows 7 mit installiertem Plattformupdate für Windows 7 unterstützt.
Die Semantik von Direct2D für Geräte und Gerätekontexte wurde aktualisiert, um der von Direct3D verwendeten Semantik näher zu ähneln und eine präzise Bedienung in Windows Store-Apps zu ermöglichen. Weitere Informationen finden Sie unter Geräte und Gerätekontexte .
Ausgewählte verwandte APIs:
Mit der Befehlslisten-API können Sie den Renderingpfad für das Rendern und Drucken des Bildschirms freigeben. Außerdem können Sie mit Primitiven einen Bildpinsel zum Füllen von Grundtypen erstellen.
Ausgewählte verwandte APIs:
Direct2D-Effekte sind eine Reihe von APIs, die neu in Windows 8 sind, um hochwertige Effekte auf Bilder anzuwenden. Es enthält auch APIs, mit denen Sie Ihre eigenen benutzerdefinierten Effekte erstellen können.
Ausgewählte verwandte APIs:
Ab Windows 8 enthält Direct2D zusätzliche APIs zum Erstellen von Multithread-Apps. Weitere Informationen finden Sie unter Multithreaded Direct2D Apps .
Ausgewählte verwandte APIs: