DirectX API(Application Programming interface :應用程序界面) 最早發布于1995年,其設計目標是為Windows平臺軟件開發人員提供一個更簡便的針對多媒體和游戲應用編程的標準接口。在過去的十多年中,DirectX已經穩步成為了Microsoft Windows平臺上進行游戲開發的首選API。每一代的DirectX都帶來對新的圖形硬件特性的支持,因此每次都能幫助游戲開發者們邁出驚人的一步。
DirectX 包含一組 API,通過它能訪問高性能硬件的高級功能,如三維圖形加速芯片和聲卡。這些 API 控制低級功能(其中包括二維 (2D) 圖形加速)、支持輸入設備(如游戲桿、鍵盤和鼠標)并控制著混音及聲音輸出。構成 DirectX 的下列組件支持低級功能:
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 9中引入的了2.0/2.X/3.0三個版本的Vertex Shader(頂點著色引擎)以及Pixel Shader(像素著色引擎)。這看似是技術的推進,其實是微軟在為nVIDIA和ATI兩強搭建競爭舞臺,而且其中的內耗直接導致技術普及速度減緩,并且利用率降低,更令軟件開發商畏首畏尾。而進入DirectX 10時代之后,微軟渴望使用統一渲染架構來引領群雄。
所謂統一渲染架構,大家可以直觀地理解為將Vertex Shader、Pixel Shader以及DirectX 10所引入的Geometry Shader統一封裝。此時,顯卡中的GPU將不會開辟獨立的管線,而是所有的運算單元都可以任意處理任何一種Shader運算。在微軟的統一渲染架構下,既然所有的運算單元都可以處理任何一種運算,那么就能有效避免這種不合理的分配現象。
l 統一著色器架構:
此前的顯卡都采用象素著色器跟頂點著色器分離的架構,這種架構不允許GPU同時處理象素跟頂點著色。比如說顯卡在進行頂點著色的時候象素著色器單元就變成閑置,浪費了資源而且還形成了不必要的性能瓶頸。特別是現在分離式架構的GPU 的PS資源都要遠高于VS,在這種狀況下瓶頸的負擔無疑是雪上加霜。而在采用了統一著色器架構的GPU以及運行于DX10的系統中,顯卡可以同時對頂點、幾何以及象素著色進行處理,而不必等待逐個分別進行。這也使得資源得以合理分配,保證整個架構高效運行。
l geometry shader(幾何著色器)功能 :
對于DirectX 9和DirectX 10的區別, DirectX 10將利用DirectX 10來克服他們使用DirectX 9所面臨的傳統限制。例如,geometry shader(幾何著色器)功能將使得游戲可以加速游戲的數學運算性能,諸如在GPU上進行物理運算。
l 運算效率更高:
DirectX 10另一個最令人注目的改進就是可以為API節省計算開銷(API overhead)。所謂API overhead就是游戲在處理畫面上的每一個物體(object)時(比如人物、巖石等等),都需要先將這些object傳送至API,然后再由API傳給驅動程序,而這個過程都需要CPU做出處理。當 Object 越多(每一幀畫面通常超過幾百個),對CPU的負擔就越重,所需要消耗的處理時間就越長從而構成瓶頸。而之前DirectX 9就存在API overhead太大造成CPU資源占用率過高的弊病,因為DirectX 9每使用一個object都需要CPU為其做資源確認。而全新的DirectX 10針對這方面作出了改善,采用了全新設計改良的Validation機制。現在只有在該object生成時,才需要CPU做確認,此后在使用Object時就不需要再次確認了,從而大幅降低CPU的負擔。簡而言之就是DirectX 10可以有效減少CPU處理3D物體的時間,所以現在每一幀畫面可以擁有更豐富的3D物體(無論是樹木、貼圖還是人物)。而CPU被釋放出來的空余資源還可以讓制作者用于其它諸如物理、人物運動以及AI等方面的計算。DirectX 10還帶有一個真正的整數指令集,可以盡可能完成更多的尋址計算,更多的數據打包和解包;當然這些功能并不會創造出一些新的畫面特效,但它允許開發人員在GPU中高效的完成更為智能、復雜的渲染工作!
新聞熱點
疑難解答