圖形處理器(GPU)具有怎樣的特性呢?如果你想從事于游戲開發,或者對Unity游戲開發感興趣,這部分的內容還是有必要去了解下的。下面就讓粵嵌Unity培訓帶你去見識一下。
Unity培訓——GPU的優越性
由于GPU具有高并行結構,所以GPU在處理圖形數據和復雜算法方面擁有比CPU更高的效率。CPU大部分面積為控制器和寄存器,與之相比,GPU擁有更多的ALU(Arithmetic Logic Unit,邏輯運算單元)用于數據處理,這樣的結構適合對密集型數據進行并行處理。
GPU采用流式并行計算模式,可對每個數據進行獨立的并行計算,所謂“對數據進行獨立計算”就是流內任意元素的計算不依賴于其他同類型數據。例如,計算一個頂點的世界位置坐標,不依賴于其他頂點的位置,所謂“并行計算”是指多個數據可以同時被使用,多個數據并行運算的時間和一個數據單獨實行的時間是一樣的。所以,在頂點處理程序中,可以同時處理N個頂點數據。
Unity培訓——GPU的缺陷
由于任意一個元素的計算不依賴于其他同類型數據,導致需要知道數據之間相關性的算法在GPU上難以得到實現。一個典型的例子是射線與物體的求交運算。GPU中的控制器少于CPU,致使控制能力有限。另外,進行GPU編程必須掌握計算機圖形學相關知識,以及圖形處理API,入門門檻高,學習周期長,尤其國內關于GPU編程的資料較為匱乏,這些都導致了學習的難度。在早期,GPU編程只能使用匯編語言,開發難度高,開發效率低。不過,隨著Shader Language的興起,在GPU上編程已經容易多了。
Unity培訓——GPU的更多應用
科學可視化計算:由于人體CT、地質勘探、氣象數據、流體力學等科學可視化計算處理的數據量極大,僅僅基于CPU進行計算完全不能滿足實時性要求,而在GPU上進行計算則可以在效率上達到質的突破。許多在CPU上非常耗時的算法,如體繪制中的光線投射算法,都可以成功移植到GPU上。所以基于GPU的科學可視化研究目前已經成為主流。
通用算法:基于GPU進行通用計算的研究逐漸成為熱點,被稱為GPGPU(General-Purpose Computing on Graphics Procedding Units,也被成為GPGP,或GP2),很多數值計算等通用算法都已經在GPU上得到了實現,并有不俗的性能表現。目前,線性代數、物理仿真和光線跟蹤算法都已經成功地移植到GPU上。在國內,中科院計算所進行了基于GPU的串匹配算法的實現。
如果大家對游戲開發感興趣,歡迎大家搜索粵嵌教育Unity培訓的VR課程和VR學習視頻。