瀏覽單個文章
taris
*停權中*
 

加入日期: Nov 2003
您的住址: 地球
文章: 111
Thumbs up

引用:
作者zohar
其實有這問題蠻久了,但一直找不到相關的資料,所以上來請教一下

大家都知道CPU會影響顯卡的效能發揮(尤其是卡王),扣掉遊戲中一些本來就由CPU運算的
物理特效不管,顯卡和CPU彼此之間到底是為什麼CPU會影響到顯卡的效能發揮呢?是什麼
部分有受到影響或影響最大呢

是多邊形的運算在什麼步驟會需要CPU的輔助還是.......

有勞各位網兄幫小弟解惑一下,感恩


如果GPU的設計是非常powerful的,從頂點的轉換到,最後pixels被輸出到螢幕中,全部都由GPU包下來的情況下(某些架構的GPU,仍然需要CPU來輔助運算)...

仍然還是有許多CPU要出力的地方....

樓主可以想想看,GPU進行頂點和pixel的運算之前,一定會有大量的頂點座標和貼圖資料從電腦的硬碟或記憶體,被餵入到GPU或video ram當中~
那這些資料是誰負責餵的??而且在什麼情況下,是要餵一筆資料??(沒有出現在螢幕中的物件就不需要餵)

除了這些資料之外,還包括transfomation矩陣的資料,決定多邊形物件出現在螢幕的哪裡,和旋轉角度,這些是依照使用者和遊戲之間的互動來決定的...這些都是需要大量的事先運算,然後GPU才能依照那些資料,來繪出最後的結果.

當然現在很多的技術減少上述CPU的overhead,像是Vertex/Texture Buffer Object,先把頂點和材質資料預存到video ram當中,或是用動態的方式來產生頂點或材質資料(fragment shading & geometry shading).....
但畢竟video ram的容量有限,不一定能夠將所有的資料存入video ram當中,仍然需要CPU進行記憶體的管理,在main memory和video memory進行swap的動作....
即使資料都預存到video ram了,最後仍然還是需要CPU去告訴GPU,你要繪出哪一筆資料...

當然以現代的趨勢,現在GPU能做的運算越來越強大....但以目前電腦的架構來說,資料還沒送到顯示卡記憶體之前的運算,一定都是CPU全部包下來,GPU設計在好,也是看不到也摸不到....
舊 2008-04-02, 02:31 PM #4
回應時引用此文章
taris離線中