圖元在層次上比頂點高一級,它由一個或多個頂點構成。由單個頂點組成的圖元被 稱為“點”,由兩個頂點組成的圖元被稱為“線”,由三個頂點組成的圖元被稱為“三角形”。幾何渲染單元支持點、線、三角形、帶鄰接點的線、帶鄰接點的三角形等多種圖元類型,它一次最多可處理六個頂點。借助豐富的圖元類型支持,幾何渲染單元可以讓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芯片中采用統一渲染架構。
當然,統一渲染架構也並非完美無瑕。相對頂點渲染來說,像素渲染將面臨大規模使用紋理所帶來的材質延遲,這是統一渲染架構急待解決的問題。不過有一點可以肯定,在微軟的大力推動下,統一渲染架構是大勢所趨。
其它參考《什麼是DirectX》http://www.45it.com/xianka/200811/20207.htm