共用方式為


DirectX 的高逼真度圖形

Windows 應用程式開發人員已長期使用 Microsoft DirectX 來提供高品質、硬體加速、3D 圖形。 當技術在 1995 年推出時,開發人員可為玩家和專業人員提供高品質的 3D 圖形,讓玩家和專業人員願意支付 3D 圖形面板的額外費用。 現在,即使是最便宜的電腦也包含可用的 3D 圖形硬體。

為了利用這些圖形功能,Windows Vista 引進了適用于 DirectX 的 Windows Display Driver Model (WDDM) 基礎結構,可讓多個應用程式和服務共用圖形處理單位的資源 (GPU) 。 桌面視窗管理員 (DWM) 使用此技術,在 3D 中以動畫顯示工作切換、提供應用程式視窗的動態縮圖影像,以及為傳統型應用程式提供 Windows 美化玻璃效果。

Windows 7 將更多圖形功能放在應用程式開發人員的手上。 透過一組新的 DirectXAPIs,Microsoft Win32 開發人員可以利用 GPU 中的最新創新功能,將快速、可調整、高品質、2D 和 3D 圖形、文字和影像新增至其應用程式。 在最新 版的 URL 顯示器上,DirectXAPIs 可以使用每個色彩元件大於 8 位的色彩深度來顯示桌面和視窗內容。

使用 DirectX 時,Win32 開發人員也可以使用 GPU 的平行處理原則進行一般用途的計算,例如影像處理,並可轉譯為 DirectX 10 硬體、DirectX 9 硬體、CPU 或遠端 Windows 電腦。 這些技術的設計目的是為了與 Windows Graphics Device Interface (GDI) 和 Windows GDI+ 交互操作,確保開發人員可以輕鬆地保留其在 Win32 程式碼中的現有投資。 (請參閱 2009 年 3 月 DirectX SDK.) 的新功能

這些增強的圖形功能是由下列 以 COM為基礎的 API 所提供:

Direct2D

以 Microsoft Direct3D 10 為基礎, Direct2D 提供 Win32 開發人員立即模式、與解析度無關的 2D API,這些 API 使用新一代圖形硬體的強大功能,但可與現今的 GDI/GDI+ 應用程式和 Direct3D 10 應用程式互通。 Direct2D 提供高品質的 2D 轉譯,效能優於 GDI 和 GDI+。 它可讓 Win32 開發人員更精細地控制資源及其管理。 (請參閱 Direct2D.)

DirectWrite

現今的許多應用程式都需要支援高品質的文字轉譯、與解析度無關的大綱字型,以及完整的 Unicode 文字和版面配置支援。 DirectWrite是新的 DirectX 元件,提供這些功能和其他功能:

  • 與裝置無關的文字配置系統,可改善檔和 UI 中的文字可讀性。
  • 高品質、子圖元、 ClearType 文字轉譯,可使用 GDI、 Direct2D或應用程式特定的轉譯技術。
  • Direct2D搭配使用時的硬體加速文字。
  • 支援多格式文字。
  • 支援 OpenType 字型的進階印刷樣式功能。
  • 支援所有支援語言的文字配置和轉譯。
  • GDI 相容的版面配置和轉譯。

DirectWrite字型系統會啟用「任何字型」字型使用方式,其中使用者不需要執行個別的安裝步驟即可使用字型,以及改善的字型群組結構階層,以協助進行手動或程式設計字型探索。 API 支援測量、繪製及點擊測試多重格式文字。 DirectWrite處理全域和當地語系化應用程式所有支援語言的文字,以 Windows 7 中找到的主要語言基礎結構為基礎。 DirectWrite也為想要執行自己的版面配置和 Unicode 對字元處理的開發人員提供低階圖像轉譯 API。 (請參閱DirectWrite.)

Windows Imaging Component

在 Windows Vista 中, Windows 映像元件 引進了可延伸架構來處理影像和映射中繼資料。 Windows 映像處理元件支援的影像格式包括 JPEGPNGTIFF,而支援的元資料格式包括 XMPEXIF。 使用 Windows 7,Windows 映像元件藉由提供跨APPn區段的漸進式影像解碼、擴充的 PNG功能、GIF中繼資料和中繼資料的支援,來擴大其標準合規性。 (查看Windows 7.) 中 WIC 的新功能

Direct3D 11

Microsoft Direct3D 11 擴充 Direct3D 10 管線的功能,並提供 Windows 7 遊戲和高階 3D 應用程式,以有效率、健全且可調整的存取權來存取即將推出的 GPU 和多核心 CPU。 除了 Direct3D 10 中找到的功能之外,Direct3D 11 還引進了數項新功能。

幾何和高階表面現在可以鑲嵌,以支援修補和細分介面表示中的可調整、動態內容。

為了充分利用多個 CPU 核心所提供的平行處理能力,多執行緒會藉由將應用程式、執行時間和驅動程式呼叫分散到多個核心,以增加每個畫面的潛在轉譯呼叫數目。 此外,資源建立和管理已針對多執行緒用途進行優化,可讓動態紋理管理更有效率地進行串流處理。

已針對 Direct3D 11 建立新的一般用途計算著色器。 不同于現有的著色器,這些是可程式化管線的延伸模組,可讓應用程式完全在 GPU 上執行更多工作,而不受 CPU 影響。 Direct3D 10 中引進的DrawAuto已擴充為與計算著色器互動。

對高階網底語言 (HLSL) 進行了幾項改善,例如著色器中動態連結的有限形式,以改善特製化複雜度,以及類別和介面等物件導向程式設計建構。 (請參閱 2009 年 3 月 DirectX SDK.) 的新功能

Direct3D 10 改善

Direct3D 10 包含重新設計的圖形管線,其中包含可程式化著色器階段,以及初始化固定函式階段的不可變狀態物件。 狀態物件可藉由將所需的狀態變更數目降至最低,來簡化管線並改善效能。 著色器階段的程式設計性現在提供高階網底語言延伸模組,以支援無限制的著色器指令、一般化著色器資源,以及整數和位計算。

管線也引進幾何著色器階段,其會將工作完全從 CPU 卸載至 GPU。 這個新階段可讓您建立幾何、將資料串流至記憶體,以及轉譯沒有 CPU 互動的幾何。

其他數個改善是專為加快效能而設計的。 述詞轉譯會執行遮蔽,以減少轉譯的幾何數量。 實例 API 可藉由繪製類似物件的多個實例,大幅減少需要傳輸至 GPU 的幾何數量。 紋理陣列可讓 GPU 在不需 CPU 介入的情況下進行紋理交換。

已對 Direct3D 10 和 Direct3D 11 進行數項新增,以擴充可使用這些 API 為目標的設定範圍。 Windows 進階點陣化平臺 (WARP) 實作 Direct3D 10 的快速、多核心可調整 CPU 轉譯,在沒有圖形硬體的系統上啟用全功能圖形轉譯。 新增新的「功能層級」,特別稱為 Direct3D 10 層級 9,可讓 Direct3D 10 和 Direct3D 11APIs 驅動 Microsoft Direct3D 9 類別硬體,擴充 Direct3D 10 或 Direct3D 11 應用程式的設定數目,幾乎可將目標設為市面上的每部電腦系統。 (請參閱 Direct3D 10 Graphics.)

DirectX/GDI 互通性

在 Windows Vista 中,使用 DirectX 和 GDI 轉譯至共用表面的應用程式行為會根據 DWM 開啟或關閉而有所不同。 此外,當 DWM 開啟時,同時使用 DirectX 和 GDI 的應用程式在 Windows Vista 上的行為與 Windows XP 上的行為不同。 這會導致許多 ISV 在 Windows Vista 上執行其應用程式時停用 DWM,以確保一致的行為。 有了 Windows 7 中 DirectX 的改善,應用程式現在可以自由混合 DirectX 和 GDI,而不需要停用 DWM。 Windows 7 也針對需要 DirectX 與 GDI 之間交互操作的案例,利用更有效率的 Direct3D 10 API 來改善效能。 (請參閱 Direct2D 和 GDI 互通性概觀.)