DirectX
微軟公司創建的多媒體編程介面
DirectX(Direct eXtension,簡稱DX)是由微軟公司創建的多媒體編程介面,是一種應用程序介面(API)。DirectX可讓以windows為平台的遊戲或多媒體程序獲得更高的執行效率,加強3D圖形和聲音效果,並提供設計人員一個共同的硬體驅動標準,讓遊戲開發者不必為每一品牌的硬體來寫不同的驅動程序,也降低用戶安裝及設置硬體的複雜度。DirectX已被廣泛使用於Microsoft Windows、Microsoft XBOX、Microsoft XBOX 360和Microsoft XBOX ONE電子遊戲開發。
Microsoft DirectX 是這樣一組技術:它們旨在使基於Windows 的計算機成為運行和顯示具有豐富多媒體元素(例如全色圖形、視頻、3D 動畫和豐富音頻)的應用程序的理想平台。DirectX 包括安全和性能更新程序,以及許多涵蓋所有技術的新功能。應用程序可以通過使用DirectX API 來訪問這些新功能。
功用
DirectX加強3D圖形和聲音效果,並提供設計人員一個共同的硬體驅動標準,讓遊戲開發者不必為每一品牌的硬體來寫不同的驅動程序,也降低了用戶安裝及設置硬體的複雜度。
從字面意義上說,Direct就是直接的意思,而後邊的X則代表了很多的意思,從這一點上可以看出DirectX的出現就是為了為眾多軟體提供直接服務的。
舉例來說,以前在DOS下骨灰級玩家玩遊戲時,並不是安裝上就可以玩了,他們往往首先要設置音效卡的品牌和型號,然後還要設置IRQ(中斷)、I/O(輸入與輸出)、DMA(存取模式),如果哪項設置的不對,那麼遊戲聲音就發不出來。這部分的設置不僅讓玩家傷透腦筋,對遊戲開發者來說就更為頭痛。為了讓遊戲能夠在眾多電腦中正確運行,開發者必須在遊戲製作之初,把市面上所有音效卡硬體數據都收集過來,然後根據不同的 API(應用編程介面)來寫不同的驅動程序。這對於遊戲製作公司來說,是很難完成的,所以在當時多媒體遊戲很少。微軟正是看到了這個問題,為眾廠家推出了一個共同的應用程序介面——DirectX。只要遊戲是依照Directx來開發的,不管顯卡、音效卡型號如何,統統都能玩,而且還能發揮最佳的效果。當然,前提是使用的顯卡、音效卡的驅動程序必須支持DirectX才行。
DirectX是由很多API組成的,按照性質分類,可以分為四大部分,顯示部分、聲音部分、輸入部分和網路部分。
顯示部分擔任圖形處理的關鍵,分為DirectDraw(DDraw)和Direct3D(D3D),前者主要負責2D圖像加速。它包括很多方面:我們播放mpg、DVD電影、看圖、玩小遊戲等等都是用的DDraw,你可以把它理解成所有劃線的部分都是用的DDraw。後者則主要負責3D效果的顯示,比如CS中的場景和人物、FIFA中的人物等等,都是使用了DirectX的Direct3D。
聲音部分中最主要的API是DirectSound,除了播放聲音和處理混音之外,還加強了3d音效,並提供了錄音功能。我們前面所舉的音效卡兼容的例子,就是利用了DirectSound來解決的。
輸入部分DirectInput可以支持很多的遊戲輸入設備,它能夠讓這些設備充分發揮最佳狀態和全部功能。除了鍵盤和滑鼠之外還可以連接手柄、搖桿、模擬器等。
網路部分DirectPlay主要就是為了具有網路功能遊戲而開發的,提供了多種連接方式,TCP/IP,IPX,Modem,串口等等,讓玩家可以用各種連網方式來進行對戰,此外也提供網路對話功能及保密措施。
DirectX並不是一個單純的圖形API,它是由微軟公司開發的用途廣泛的API,它包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多個組件,它提供了一整套的多媒體介面方案。只是其在3D圖形方面的優秀表現,讓它的其它方面顯得暗淡無光。DirectX開發之初是為了彌補Windows 3.1系統對圖形、聲音處理能力的不足,而今已發展成為對整個多媒體系統的各個方面都有決定性影響的介面。DirectX 是一組低級“應用程序編程介面(API)”,可為 Windows 程序提供高性能的硬體加速多媒體支持。Windows 支持DirectX 8.0,它能增強計算機的多媒體功能。使用DirectX 可訪問顯卡與音效卡的功能,從而使程序可提供逼真的三維(3D) 圖形與令人如醉如痴的音樂與聲音效果。DirectX 使程序能夠輕鬆確定計算機的硬體性能,然後設置與之匹配的程序參數。該程序使得多媒體軟體程序能夠在基於Windows 的具有DirectX 兼容硬體與驅動程序的計算機上運行,同時可確保多媒體程序能夠充分利用高性能硬體。DirectX 包含一組API,通過它能訪問高性能硬體的高級功能,如三維圖形加速晶元和音效卡。這些 API 控制低級功能(其中包括二維(2D)圖形加速)、支持輸入設備(如遊戲桿、鍵盤和滑鼠)並控制著混音及聲音輸出。構成DirectX 的下列組件支持低級功能:Microsoft DirectDraw Microsoft DirectDraw API 支持快速訪問計算機視頻適配器的加速硬體功能。它支持在所有視頻適配器上顯示圖形的標準方法,並且使用加速驅動程序時可以更快更直接地訪問。DirectDraw 為程序(如遊戲和二維圖形程序包)以及Windows系統組件(如數字視頻編解碼器)提供了一種獨立於設備之外的方法來訪問特定顯示設備的功能,而不要求用戶提供設備功能的其它信息。
Microsoft Direct3D Microsoft Direct3D API (Direct3D) :為大多數新視頻適配器內置的3-D 調色功能提供界面。Direct3D 是一種低級的3-D API,它為軟體程序提供一種獨立於設備之外的方法以便與加速器硬體進行有效而強大的通信。Direct3D 包含專用CPU指令集支持,從而可為新型計算機提供進一步加速支持。
Microsoft DirectSound Microsoft DirectSound API :為程序和音頻適配器的混音、聲音播放和聲音捕獲功能之間提供了鏈接。DirectSound 為多媒體軟體程序提供低延遲混合、硬體加速以及直接訪問聲音設備等功能。維護與現有設備驅動程序的兼容性時提供該功能。
Microsoft DirectMusic Microsoft DirectMusic API :是DirectX 的互動式音頻組件。與捕獲和播放數字聲音樣本的DirectSound API 不同,DirectMusic 處理數字音頻以及基於消息的音樂數據,這些數據是通過音效卡或其內置的軟體合成器轉換成數字音頻的。DirectMusic API 支持以“樂器數字界面(MIDI)”格式進行輸入,也支持壓縮與未壓縮的數字音頻格式。DirectMusic 為軟體開發人員提供了創建令人陶醉的動態音軌的能力,以響應軟體環境中的各種更改,而不只是用戶直接輸入更改。
Microsoft DirectInput Microsoft DirectInput API :為遊戲提供高級輸入功能並能處理遊戲桿以及包括滑鼠、鍵盤和強力反饋遊戲控制器在內的其它相關設備的輸入。
Microsoft DirectPlay Microsoft DirectPlay API:支持通過數據機、Internet 或區域網連接遊戲。DirectPlay 簡化了對通信服務的訪問,並提供了一種能夠使遊戲彼此通信的方法而不受協議或聯機服務的限制。DirectPlay 提供了多種遊戲服務,可簡化多媒體播放器遊戲的初始化,同時還支持可靠的通信協議以確保重要遊戲數據在網路上不會丟失。DirectPlay 8.0 的新功能即支持通過網路進行語音通信,從而可大大提高基於多媒體播放器小組的遊戲的娛樂性,同時該組件還通過提供與玩遊戲的其他人對話的功能而使團體遊戲更具魅力。
Microsoft DirectShow Microsoft DirectShow API:提供了可在您的計算機與Internet 伺服器上進行高品質捕獲與回放多媒體文件的功能。DirectShow 支持各種音頻與視頻格式,包括“高級流式格式(ASF)”、“音頻-視頻交錯 (AVI)”、“數字視頻(DV)”、“動畫專家組 (MPEG)”、“MPEG 音頻層3 (MP3)”、“Windows 媒體音頻/視頻(WMA/WMV)”以及 WAV 文件。DirectShow 還具有視頻捕獲、DVD 回放、視頻編輯與混合、硬體加速視頻解碼以及調諧廣播模擬與數字電視信號等功能。
如何來學習它呢?
Direct身為一種運算規則,其自身的運行環境必然是有嚴格規定的,也就是說Direct是獨為Windows服務的一種規則。那它的表達環境就是在英文中。而非中。所以要想理解Direct並且靈活運用,而並非僅僅理解這句話的構成,而是要徹底剖析英文的語言規律,也就是Windows的運行原理,Windows自身輸入輸出的方式。在這個基礎上要理解Direct這個規則自然是水到渠成。
那是不是說就不用去研究Direct了?
並非如此,但是在了解根本原理的基礎上去觀察Direct代碼上的結構會很輕鬆。這裡要說的就是Direct自身很強大但學習起來並非很難,難在於原理的研究,不僅要看智商,更主要還要有耐心,幾千頁的原理並不是一年半載能看完的。研究完這些,至於語法上的規則那就不值一提了。
Direct最好從基礎原理開始研究,然而原理卻如此之複雜,難道Direct沒法去學了?
這句話也不對。當有一個新事物來到你面前時,你要從兩個方面開始研究,一個是表面現象,也就是Direct的語言的規則與使用習慣、方法等。另一方面就是從已知條件中去推導出這個現象。意思是要從原理和代碼兩方面入手,從代碼入手時記住了代碼的習慣。緊接著了解這一點原理幫助自己去記憶,也能很快理解是怎麼回事。也就是說我們雖然不贊同背代碼,但也不能一點不記,我們雖然很贊同從原理入手,但從實際考慮,還是希望各位能量力而行。
整體來講學Direct還是要有一定編程基礎的,不建議一上來就學Direct,Direct畢竟是一個比較高深的東西。還是建議您對C++、Dos等一些語言比較精通的時候再回頭研究Direct。
當然也不是不可能,例如3Ds Max就是基於Direct的。做個模型、圖像、動畫還是可以的。當然也要看你從什麼角度去學習了。
DirectX 1.0
第一代的DirectX很不成功,推出時眾多的硬體均不支持,當時基本都採用專業圖形API-OpenGL,缺乏硬體的支持成了其流行的最大障礙。
DirectX 1.0版本是第一個可以直接對硬體信息進行讀取的程序。它提供了更為直接的讀取圖形硬體的性能(比如:顯示卡上的塊移動功能)以及基本的聲音和輸入設備功能(函數),使開發的遊戲能實現對二維(2D)圖像進行加速。第一代DirectX不包括所有的3D功能,還處於一個初級階段。
DirectX 2.0
DirectX 2.0在二維圖形方面做了些改進,增加了一些動態效果,採用了Direct 3D的技術。這樣DirectX 2.0與DirectX 1.0有了相當大的不同。在DirectX 2.0中,採用了“平滑模擬和RGB模擬”兩種模擬方式對三維(3D)圖像進行加速計算的。DirectX 2.0同時也採用了更加友好的用戶設置程序並更正了應用程序介面的許多問題。從DirectX 2.0開始,整個DirectX的設計架構雛形就已基本完成。
DirectX 3.0
DirectX 3.0的推出是在1997年最後一個版本的Windows95發布后不久,此時3D遊戲開始深入人心,DirectX也逐漸得到軟硬體廠商的認可。97年時應用程序介面標準共有三個,分別是專業的OpenGL介面,微軟的DirectX D介面和3DFX公司的Glide介面。而那時的3DFX公司是最為強大的顯卡製造商,它的Glide介面自然也受到最廣泛的應用,但隨著3DFX公司的沒落,Voodoo顯卡的衰敗,Glide介面才逐漸消失了。
DirectX 3.0是DirectX 2.0的簡單升級版,它對DirectX 2.0的改動並不多。包括對DirectSound(針對3D聲音功能)和DirectPlay(針對遊戲/網路)的一些修改和升級。DirectX 3.0集成了較簡單的3D效果,還不是很成熟。
DirectX 5.0
微軟公司並沒有推出DirectX 4.0,而是直接推出了DirectX 5.0。此版本對Direct3D做出了很大的改動,加入了霧化效果、Alpha混合等3D特效,使3D遊戲中的空間感和真實感得以增強,還加入了S3的紋理壓縮技術。
同時,DirectX 5.0在其它各組件方面也有加強,在音效卡、遊戲控制器方面均做了改進,支持了更多的設備。因此,DirectX發展到DirectX 5.0才真正走向了成熟。此時的DirectX性能完全不遜色於其它3D API,而且大有後來居上之勢。
DirectX 6.0
DirectX 6.0推出時,其最大的競爭對手之一Glide,已逐步走向了沒落,而DirectX則得到了大多數廠商的認可。DirectX 6.0中加入了雙線性過濾、三線性過濾等優化3D圖像質量的技術,遊戲中的3D技術逐漸走入成熟階段。
DirectX 7.0
DirectX 7.0最大的特色就是支持T&L,中文名稱是“坐標轉換和光源”。3D遊戲中的任何一個物體都有一個坐標,當此物體運動時,它的坐標發生變化,這指的就是坐標轉換;3D遊戲中除了場景+物體還需要燈光,沒有燈光就沒有3D物體的表現,無論是實時3D遊戲還是3D影像渲染,加上燈光的3D渲染是最消耗資源的。雖然OpenGL中已有相關技術,但此前從未在民用級硬體中出現。
在T&L問世之前,位置轉換和燈光都需要CPU來計算,CPU速度越快,遊戲表現越流暢。使用了T&L功能后,這兩種效果的計算用顯示卡的GPU來計算,這樣就可以把CPU從繁忙的勞動中解脫出來。換句話說,擁有T&L顯示卡,使用DirectX 7.0,即使沒有高速的CPU,同樣能流暢的跑3D遊戲。
DirectX 8.0
DirectX 8.0的推出引發了一場顯卡革命,它首次引入了“像素渲染”概念,同時具備像素渲染引擎(Pixel Shader)與頂點渲染引擎(Vertex Shader),反映在特效上就是動態光影效果。同硬體T&L僅僅實現的固定光影轉換相比,VS和PS單元的靈活性更大,它使GPU真正成為了可編程的處理器。這意味著程序員可通過它們實現3D場景構建的難度大大降低。通過VS和PS的渲染,可以很容易的營造出真實的水面動態波紋光影效果。此時DirectX的權威地位終於建成。
DirectX 9.0
2002年底,微軟發布DirectX9.0。DirectX 9中PS單元的渲染精度已達到浮點精度,傳統的硬體T&L單元也被取消。全新的VertexShader(頂點著色引擎)編程將比以前複雜得多,新的VertexShader標準增加了流程式控制制,更多的常量,每個程序的著色指令增加到了1024條。
PS 2.0具備完全可編程的架構,能對紋理效果即時演算、動態紋理貼圖,還不佔用顯存,理論上對材質貼圖的解析度的精度提高無限多;另外PS1.4隻能支持28個硬體指令,同時操作6個材質,而PS2.0卻可以支持160個硬體指令,同時操作16個材質數量,新的高精度浮點數據規格可以使用多重紋理貼圖,可操作的指令數可以任意長,電影級別的顯示效果輕而易舉的實現。
VS 2.0通過增加Vertex程序的靈活性,顯著的提高了老版本(DirectX8)的VS性能,新的控制指令,可以用通用的程序代替以前專用的單獨著色程序,效率提高許多倍;增加循環操作指令,減少工作時間,提高處理效率;擴展著色指令個數,從128個提升到256個。
增加對浮點數據的處理功能,以前只能對整數進行處理,這樣提高渲染精度,使最終處理的色彩格式達到電影級別。突破了以前限制PC圖形圖象質量在數學上的精度障礙,它的每條渲染流水線都升級為128位浮點顏色,讓遊戲程序設計師們更容易更輕鬆的創造出更漂亮的效果,讓程序員編程更容易。
與過去的DirectX 9.0b和Shader Model 2.0相比較,DirectX 9.0c最大的改進,便是引入了對Shader Model 3.0(包括Pixel Shader 3.0 和Vertex Shader 3.0兩個著色語言規範)的全面支持。舉例來說,DirectX 9.0b的Shader Model 2.0所支持的Vertex Shader最大指令數僅為256個,Pixel Shader最大指令數更是只有96個。而在最新的Shader Model 3.0中,Vertex Shader和Pixel Shader的最大指令數都大幅上升至65535個,全新的動態程序流控制、位移貼圖、多渲染目標(MRT)、次表面散射 Subsurface scattering、柔和陰影Soft shadows、環境和地面陰影Environmental and ground shadows、全局照明(Global illumination)等新技術特性,使得GeForce 6、GeForce 7系列以及Radeon X1000系列立刻為新一代遊戲以及具備無比真實感、幻想般的複雜的數字世界和逼真的角色在影視品質的環境中活動提供強大動力。
因此DirectX 9.0c和Shader Model 3.0標準的推出,可以說是DirectX發展歷程中的重要轉折點。在DirectX 9.0c中,Shader Model 3.0除了取消指令數限制和加入位移貼圖等新特性之外,更多的特性都是在解決遊戲的執行效率和品質上下功夫,Shader Model 3.0誕生之後,人們對待遊戲的態度也開始從過去單純地追求速度,轉變到遊戲畫質和運行速度兩者兼顧。因此Shader Model 3.0對遊戲產業的影響可謂深遠。
DirectX 10.0
包含在Windows Vista操作系統中,無法單獨下載使用。
新的DirectX使你獲得更好的圖像顯示質量,使多人遊戲具可伸縮性,以及包括更棒的音頻效果。它強化了針對DirectDraw和Direct3D的介面,簡化了應用擴展,提升性能;改善了圖形創作工具,更易於做出最佳的3-D角色和環境;點光源式光影和像素式光影使圖象更逼真;強化了DirectSound和DirectMusic,簡化了其應用擴展;DLS2音頻合成功能提高了樂器音頻的真實感;DirectInput的設備影射功能令對設備的支持更簡單;DirectPlay使多人遊戲的性能和可擴展性得到了提高; DirectPlay提供了IP聲音通訊;DirectShow的應用編程介面提供了音頻/視頻的實時合成和即時編輯;DirectShow支持Windows媒體音頻和視頻(WMA和WMV)的讀寫; Microsoft TV技術可以支持數字電視節目。當然,最重要的是一些新遊戲需要它。DirectX Redist通常每兩個月更新一次,包含了DirectX Runtimes的所有更新,可以替代此前發布的舊版本,適合Windows XP、Server 2003、Vista等操作系統,不支持Windows 9x/2000。一般最新的3D遊戲等應用程序都需要新的DirectX介面,因此強烈推薦更新。
Vista DX10用戶也同樣需要。
顯卡所支持的DirectX版本已成為評價顯卡性能的標準,從顯卡支持什麼版本的DirectX,用戶就可以分辨出顯卡的性能高低,從而選擇出適合於自己的顯卡產品。
DirectX 10.1
正如以前的DX版本一樣,DX10.1也是DX10的超集,因此它將支持DirectX 10的所有功能,同時它將支持更多的功能,提供更高的性能。
DX10.1的一個主要提高是改善的shader資源存取功能,在多樣本AA時,在讀取樣本時有更好的控制能力。除此之外,DX10.1還將可以創建定製的下行採樣濾波器。
DX10.1還將有更新的浮點混合功能,對於渲染目標更有針對性,對於渲染目標混合將有新的格式,渲染目標可以實現獨立的各自混合。陰影功能一直是遊戲的重要特效,Direct3D 10.1 的陰影濾波功能也將有所提高,從而可望進一步提高畫質。
在性能方面,DirectX 10.1將支持多核系統有更高的性能。而在渲染,反射和散射時,Direct3D 10.1將減少對API的調用次數,從而將獲得不錯的性能提升。
其他方面,DX10.1的提高也不少,包括32bit浮點濾波,可以提高渲染精確度,改善HDR渲染的畫質。完全的抗鋸齒應用程序控制也將是DX10.1的亮點,應用程序將可以控制多重採樣和超級採樣的使用,並選擇在特定場景出現的採樣模板。DX10.1將至少需要單像素四採樣。
DX10.1還將引入更新的驅動模型,WDDM 2.1。與DX10的WDDM2.0相比,2.1有一些顯著的提高。
首先是更多的內容轉換功能,WDDM2.0支持處理一個命令或三角形後進行內容轉換,而WDDM2.1則可以讓內容轉換即時進行。由於GPU同時要并行處理多個線程,因此內容轉換的即時性不僅可以保證轉換質量,還可以提升GPU效率,減少等待時間。另外,由於WDDM 2.1支持基於過程的虛擬內存分配,處理GPU和驅動頁面錯誤的方式也更為成熟。
微軟預計將在兩周之內(2008年7月中旬)宣布新一代API:DirectX 11。消息來源指出,微軟將在7月22日舉辦的Gamefest 2008上宣布新一代API,此前我們得到有關DirectX 11的最新消息是NVIDIA將在八月末的“NVISION 08”會議上講解DirectX 11。
由微軟舉辦的Gamefest 2008大會將於7月22-23日在西雅圖召開,Gamefest 2008大會是微軟每年一度的遊戲技術探討盛會,所以有關下一代遊戲技術介面API的消息自然也是少不了的話題。
DirectX 11引入最大新技術特徵無疑是Tessellation/Displacement,我們還聽說了多線程渲染、Compute Shaders也將是DirectX 11中重要環節,另外據說DirectX 11還將引入Shader Model 5.0,具體細節信息尚不明確,Ray Tracing(光線跟蹤)與Rasterization(光柵化)技術的支持也還沒有提及。
DirectX 11
2009年1月9日星期五,微軟將面向公眾發布Windows 7客戶端Beta 1測試版。而此前一天,即1月8日,微軟將率先發布Windows 7伺服器版本的Beta 1測試版。
在微軟發布的Windows 7Beta版本中,一些已經安裝使用的用戶的發現了DirectX 11已經包含其中了。DirectX 11作為3D圖形介面,不僅支持未來的DX11硬體,還向下兼容當前的DirectX 10和10.1硬體。DirectX 11增加了新的計算shader技術,可以允許GPU從事更多的通用計算工作,而不僅僅是3D運算,這可以鼓勵開發人員更好地將GPU作為并行處理器使用。
在微軟發布的Windows 7 Beta版本中,已包含DirectX 11
另外,DirectX 11還支持tessellation鑲嵌化技術,這有助於開發人員創建更為細膩流暢的模型,實現高質量實時渲染和預渲染場景。多線程是DirectX 11的另外一大亮點,DX11可以更好地利用多線程資源,從而使遊戲更有效地利用多核處理器。
DirectX 11.1
微軟2011年10月15日公布了一份白皮書“Windows開發者預覽版中的Windows驅動模型增強”,洋洋洒洒地深入介紹了Windows 8在圖形技術方面的改進。根據白皮書,Windows 8將會支持新版顯示驅動模型WDDM1.2,高於Windows 7 WDDM 1.1,但同時會放棄對伺服器系統中XDDM的支持,全部轉向WDDM。
DirectX方面最關鍵的是當然引入Direct3D 11.1,同時還會有平滑旋轉、立體3D、D3D11 Video等功能技術。微軟稱,即使是低端硬體,只要能夠利用好DirectX的優勢,也能夠在Windows 8上來更好的性能。
DirectX 11.2
2013年6月28日,微軟發布Directx11.2(Alpha版),其中一個重要特性是允許遊戲使用系統內存和顯存儲存紋理數據,微軟的Antoine Leblond在BUILD大會上演示了主要利用內存而不是顯存去儲存9GB紋理數據。這項特性對於未來的高清遊戲具有重要意義。然而一個問題是,DirectX 11.2不支持Windows 8及之前操作系統,只支持Windows 8.1和下一代主機Xbox One。
DirectX 12
2014年3月21日,微軟正式發布了新一代的API DirectX 12。雖然算不上全新設計,雖然細節公布得還不是特別多,但至少不是Mantle的直接翻版,還是有微軟與合作夥伴設計的不少新東西的。DX12最重要的變化就是更底層API,這一點很像AMD Mantle,在硬體抽象層上走得比以往更深入,能夠同時減輕CPU、GPU的過載(overload)。具體包括:應用可追蹤GPU流水線、控制資源狀態轉換(比如從渲染目標到紋理)、控制資源重命名,更少的API和驅動跟蹤,可預判屬性,等等。
另外,DX12大大提高了多線程效率,可以充分發揮多線程硬體的潛力。DX11在這方面受CPU性能的嚴重製約,主要是因為不能有效利用多核心。微軟宣稱,微軟對多核心CPU的利用幾乎是完美線性增長的,也就是說四核心能接近單核心的四倍。
此外還有渲染流水線、渲染特性、資源管理、命令列表與綁定、描述符跳躍等等方面的改進,因為主要是關於開發的,也比較深晦,這裡就先不說太多了。
NVIDIA確認說,開普勒、費米、麥克斯韋架構全部都支持DX12,也就是GeForce 200系列以來的型號都可以,DX11的都行。
AMD則確認,GCN架構的所有顯卡均支持DX12,也就是Radeon HD 7000、Radeon R200系列。
Intel確認稱,第四代Haswell可以支持DX12,但其實僅限最高端的兩個型號:GT3 Iris 5100、GT3e Iris Pro 5200。
有時候重裝系統后發現很多3D遊戲都不能運行,只有一些傳統2D平面遊戲還能勉強運行,而且速度很慢。這並不是因為Windows 2003不支持3D遊戲,而是系統設置的問題。
解決方法:首先請確保以正確的方式安裝好顯卡驅動,然後就要打開DirectX加速。DirectX加速是3D遊戲最基本的需要,為了使Windows 更為單一地面向伺服器平台應用,微軟默認將其加速功能關閉。即便是在安裝了最新的DirectX 10.0之後也不會自動打開加速功能,而必須手動設置。在“開始”→“運行”對話框中輸入“dxdiag”以打開DirectX診斷工具。隨後在顯示一欄中將DirectDraw、Direct3D、AGP紋理加速功能啟用。如此一來,Windows Server 2003便能運行各種3D遊戲。除此以外,Windows Server 2003還默認關閉了硬體加速,可以在顯示屬性的高級菜單中將其設置為完全加速。
DirectX 11.1
DirectX 11之後是下一代的DirectX 12還是改進版的DirectX 11.1呢?英特爾的一份產品路線路泄露了天機,緊隨DirectX 11就是DirectX 11.1。
據國外媒體SoftPedia曝光的英特爾產品路線圖顯示,Sandy Bridge整合的是英特爾第6代圖形核心,支持DirectX 10.1和OpenGL 3.0;到了Ivy Bridge則進化至第7代,可支持DirectX 11和OpenGL 3.1;到了2013年,同為22nm但架構再度進化的Haswell處理器誕生,其將整合增強版的第7代英特爾圖形核心,可支持OpenGL 3.2和DirectX 11.1,而推薦使用的操作系統則是64位的Windows 8。
Haswell將會採用Tri-Gate 22nm製造工藝技術,並且採用可調節的TDP技術,以在性能和節能方面,獲得更好平衡。同時Haswell還將會採用新的AVX2指令集,尚不知道具體發布時間,不過從已了解藍圖來看,伺服器Haswell產品將會在2014年Q1發布。