Direct2D è una collezione diAPI per lo sviluppo semplificato digraficabidimensionale evettoriale per sistema operativoMicrosoft Windows. Direct2D è una libreria grafica ad alte prestazioni che mantiene l'interoperabilità con le APIGDI e GDI+ e le APIDirect3D/DirectDraw.[1] È in grado di sfruttare l'accelerazione video, se si sta usando unascheda grafica compatibile.
L'API Direct2D è basata sul C++ e interfacciacodice managed con codice nativo. Come Direct3D, fa uso delCOM, il che rende necessario solo un ridotto grado di astrazione. A differenza di WPF (sigla inglese perWindows Presentation Foundation), Direct2D è una API di rendering "immediate mode" (analogamente al GDI/GDI+), che richiede delle semplici invocazioniBeginDraw/Draw/EndDraw; in Direct2D non esiste il concetto di "scena"; la libreria non conserva strutture ad albero; lo stato delrendering viene mantenuto tra le diverse richieste di disegno.
Direct2D riesce a minimizzare l'utilizzoCPU e può usarerendering hardware, su una scheda grafica che supportaDirect3d 10.1 e/oDirect3D 10 Feature Level 9 con i driverWDDM 1.1; il rendering software viene usato comefallback (ed è implementato tramiteWARP10) nei casi in cui non si può accedere all'hardware, come nellasessione 0, e per il rendering remotolato server.
Le performance e l'utilizzo di memoria di Direct2D variano linearmentewith primitive counts[non chiaro] sia nel software, sia nello hardware.
Direct2D supporta le seguenti funzionalità:
Direct2D permette di ottenereinteroperabilità con GDI, GDI+ e Direct3D e permette di effettuare il rendering da e verso una superficie Direct3D, oppure undevice context (HDC) GDI/GDI+ (con la piena serializzazione delle superfici e deidevice context, il che le permette di lavorare con altre tecnologie native per Windows comeDirectWrite,Windows Imaging Component, ecc.) Questa interoperabilità permette allo sviluppatore di sostituire gradualmente sequenze di codice critiche con codice che usi Direct2D, senza dover modificare l'interocodice sorgente.
Direct2D usa unsistema di coordinatedevice-independent, il che consente di ridimensionare le coordinate in automatico, in funzione di impostazioni DPI diverse e che dipendono dalle risoluzioni video e dalle dimensioni delle periferiche di output.
Internet Explorer 9 eMozilla Firefox 4 usano Direct2D eDirectWrite.[2]