Dx10(DirectX10)是由微軟官方制作的電腦多媒體及游戲所必備的接口應用,由C++編程語言實現,遵循COM,兼容32位及64位操作系統,不僅提升了3D圖像顯示的質量,而且還帶來了更加高品質的音響效果。
【幾何渲染單元編輯】
圖元在層次上比頂點高一級,它由一個或多個頂點構成。由單個頂點組成的圖元被稱為“點”,由兩個頂點組成的圖元被稱為“線”,由三個頂點組成的圖元被稱為“三角形”。幾何渲染單元支持點、線、三角形、帶鄰接點的線、帶鄰接點的三角形等多種圖元類型,它一次最多可處理六個頂點。借助豐富的圖元類型支持,幾何渲染單元可以讓GPU提供更精細的模型細節。
幾何渲染單元賦予GPU自行創造新幾何物體、為場景添加內容的神奇能力。靈活的處理能力使GPU更加通用化,以往很多必須倚靠CPU才能完成的工作,現在完全可交由GPU處理。如此一來,CPU就有更多時間處理人工智能、尋址等工作。更令人驚喜的是,幾何渲染單元還讓物理運算的加入變得更簡單,DirectX 10可創建具備物理特性的盒子、模擬剛性物體,物理運算有望在它的帶領下逐漸走向普及。可以預見,借助幾何渲染單元這一武器,顯卡性能將產生質的飛躍,我們也將體驗到速度更流暢、畫面更精美、情節更細致的游戲。
【改進的API和驅動功效編輯】
我們知道,每一個游戲角色、武器和景物在3D程序中都是一個Object(對象),而每一幀游戲畫面就可能出現數百個Object。在顯卡工作時,每一個Object都要從應用程序傳輸到API接口,然后通過顯卡驅動程序到達顯卡。在現有的DirectX體系中,任何一個Object進行操作或者渲染,都會導致系統資源的額外消耗,游戲的Object越多,所耗費的傳遞時間就越長,造成的額外消耗也就越多。據統計,現有的DirectX 9圖形芯片在工作時,只有60%的性能用于運算3D程序,其余40%的運算能力被白白浪費了!
為了改變這一現狀,DirectX 10在渲染程序中采用了動態索引功能,Object被驅動程序自動加載,數據可以分類并連續輸入,這樣一來,單次傳輸的數據量就增加了,從而大大降低了額外耗費的時間。通過引入新的API及驅動程序,DirectX 10將圖形芯片的執行效能提升至80%。在不增加顯卡硬件成本的前提下,顯卡性能得到了大幅提升。
【并行引擎支持技術編輯】
為了提升多塊顯卡協作的工作效率,微軟在DirectX 10中提出了“Parallel Engine Support(并行引擎支持)”的概念,它可以預先把兩個GPU需要的數據分別傳輸到兩塊對應的GPU當中,幀渲染將完全由驅動控制和調配,兩塊顯卡的工作強度可以獲得很好的平衡。而在目前主從卡的運作模式中,主卡要對從卡框架、渲染數量進行判定,而引入并行引擎支持技術后,主從卡的概念將消失,兩塊甚至多塊顯卡的協作威力將充分體現。
【統一渲染架構編輯】
DirectX 10最大的革新就是統一渲染架構(Unified Shader Architecture)。目前各類圖形硬件和API均采用分離渲染架構,即頂點渲染和像素渲染各自獨立進行,前者的任務是構建出含三維坐標信息的多邊形頂點,后者則是將這些頂點從三維轉換為二維,這樣便可以通過視覺欺騙在屏幕上顯示出“三維”的場景。與此對應,GPU中也有專門的頂點渲染單元和像素渲染單元來分別執行這兩項工作(由于工作量不同,這兩種渲染單元的數量不相等,頂點渲染單元通常只有像素渲染單元的1/3~1/2)。在過去幾年中,這種分離式設計對計算機圖形領域的發展做出了一定的貢獻。
不過,微軟認為這種分離渲染架構不夠靈活,不同的GPU,其像素渲染單元和頂點渲染單元的比例不一樣,軟件開發人員在編寫代碼時必須考慮這個比例,這就大大限制了開發人員自由發揮的空間。另外,不同的圖形游戲或軟件對像素渲染和頂點渲染的需求不一樣,導致GPU的運算資源得不到充分利用。為此,微軟在DirectX 10中提出了統一渲染架構的思想:在相同物理類型的渲染單元上執行不同類型的渲染程序。換句話說,只用一種渲染單元,讓它既能完成頂點渲染,也能完成像素渲染,甚至還能實現幾何渲染。這樣一來,渲染單元可以得到最大程度的利用,減少了資源閑置的情形。目前,Xbox 360的顯示芯片Xenos就采用了統一渲染架構,該芯片一共有48個渲染單元,它們可全部用于頂點渲染或像素渲染,沒有固定分配比例。此外,ATI也打算在新一代的R600芯片中采用統一渲染架構。
當然,統一渲染架構也并非完美無瑕。相對頂點渲染來說,像素渲染將面臨大規模使用紋理所帶來的材質延遲,這是統一渲染架構急待解決的問題。不過有一點可以肯定,在微軟的大力推動下,統一渲染架構是大勢所趨。
【適應Vista系統編輯】
除統一渲染架構外,DirectX 10的另一大特色就是與Windows Vista緊密結合,Vista系統將調用GPU資源來渲染Aero Glass 3D界面,這樣圖形API就與操作系統核心高度整合在一起。舉個例子,當我們點擊應用程序時,CPU將立刻收到驅動程序的指令,而軟件界面渲染指令則通過DirectX 10直接傳送給GPU,這樣,Vista就能與CPU和GPU同時溝通,讓3D界面渲染工作變得更高效。
相比之下,在DirectX 9環境中,Vista(軟件)界面的渲染工作就要“遲鈍”一些了:用戶點擊運行某個軟件,Vista將相應的指令發送給CPU,要求CPU進行后續處理;CPU接到運行指令的同時向GPU發出請求,要求GPU在屏幕上渲染出界面。GPU(支持DirectX 9)識別Vista界面渲染指令后完成相應的工作(注意:DirectX 8顯卡無法完成渲染工作,必須讓CPU通過軟件模擬來實現,此時系統速度非常緩慢)。換句話說,在“DirectX 9顯卡+Vista”的平臺中,CPU還是核心,GPU必須在CPU的控制下工作,而Vista系統也必須通過CPU來調用GPU的資源。
DirectX9還有一個不足之處,那就是它只能進行單任務渲染,即無法同時完成兩個場景的渲染工作(如無法在運行游戲的同時為軟件渲染3D界面),應用范圍受到極大的限制。而DirectX 10則允許GPU同時渲染多個不相關的3D場景,工作效率大為提高。因此,盡管DirectX 9顯卡大都能驅動Vista華麗的Aero Glass視覺模式,但很多方面受到了限制,只有DirectX 10顯卡才是Vista的理想“伴侶”。
可惜,微軟決定DirectX10不會“下嫁”WindowsXP,想體驗DX10特效只能依賴Vista。
【Shader Model 4.0】
從DirectX 8開始,Shader Model(渲染單元模式)在DirectX體系中的地位就日趨重要,其版本和渲染單元的規格也成為了決定顯卡性能高低的關鍵因素。隨著DirectX 10時代的到來,Shader Model也升級到了4.0版本。與眼下如日中天的Shader Model 3.0(以下簡稱SM 3.0)相比,Shader Model 4.0(以下簡稱SM 4.0)有哪些可喜的變化?
首先,SM4.0中的指令長度被提升到大于64K(即64×1024)的水平,這是SM 3.0規格(渲染指令長度允許大于512)的128倍。顯然,SM 4.0在為渲染出電影級別的游戲畫面做準備。由于渲染指令長度大幅提升,SM 4.0中相應的寄存器規格也有所增強,如Constant寄存器采用16×4096陣列、tmp寄存器則有4096個、input寄存器采用16/32規格等,上述指標都比以前的DirectX有明顯的改進。其次,SM 4.0在紋理數量方面也有提高。DirectX 10允許程序員在渲染物體時使用128個紋理,而DirectX 9只提供4/16規格,更多的紋理意味著物體表面精度更接近真實,游戲開發者擁有更廣泛的選擇。
從上述情況不難看出,DirectX 10在性能方面的提升是巨大的,它將進一步解放CPU的資源。當然,我們也必須看到,DirectX 10對硬件(尤其是顯卡)的要求也更為苛刻,GPU在設計上也將更加復雜。
問:XP系統上運行軟件時出現0xc0000135的錯誤,怎么回事?
答:WindowsXpsP3系統用戶需先安裝Microsoft.NETFramework2.0或更高版本才可運行本程序,詳情請見“致WindowsXP用戶.txt”文件。
問:文件夾里為什么有兩個“DirectXRepair”程序,他們有什么區別?
答:“DirectXRepair.exe”為通用版程序,可以兼容WindowsXP(需先安裝.NET2.0,詳情請參閱“致WindowsXP用戶.txt”文件)、WindowsVista、windows7、Windows8(需要先按系統提示開啟.NET3.5)、Windows8.1(需要先按系統提示開啟.NET3.5)、Windows10(需要先按系統提示開啟.NET3.5);“DirectX_Repair_win8.exe”為特別版程序,默認只兼容Windows8、Windows8.1和Windows10,可以在上述系統上直接運行。這兩個程序的功能完全相同。
1、首先在本站下載DX安裝包
2、使用壓縮軟件解壓,獲取DXSDK_Jun10.exe
3、雙擊運行DXSDK_Jun10.exe開始安裝,安裝完成后即可