這篇是發在其他地方的一篇文章,轉PO過來請各位網兄檢察一下有沒有錯誤的地方
因為有一些概念是僅憑一些印象寫出來的,所以需要各位網兄幫忙糾正一下是否有誤
有哪邊觀念錯誤或是還需要加強的地方還請用力鞭一下,感恩
以下是內容,該篇原文主題是「CPU是否存在餵顯卡這件事」
=========================================================
遊戲哪些部分與GPU、CPU有關?
以下只是概略
CPU負責部分:
1.AI的活動(ex:敵人、四周的小動物)
2.當GPU通知需要GDDR沒有的資料時傳送給GDDR
3.指揮GPU要開啟哪些特效、顯示什麼場景
4.事件的進行
5.部分物理特效(ex:炸彈的碎片、飛彈的軌道、落石等)
GPU負責部分:
1.依照CPU的指示創造出3D物件、場景
2.AA、AF計算
3.特效的計算
4.部分物體特效(ex:波浪、枝葉的搖曳等)
什麼是顯卡的「效能」?
顯卡最主要的原件是IC,IC的功能是什麼?不管什麼IC都差不多:不斷重複
將最原始的0與1訊號解碼、計算產生新的0與1。也就是說,不管是什麼
IC都一樣:單位時間內可以計算越多的0與1,效能就越強。(不提功能)
顯卡也不例外。
然而,就好像人有自身的極限一樣,硬體也有它的極限存在。例如時脈的極
限、頻寬的極限等等。而較高階的卡通常是繪圖單元比低階卡多;利用人海
戰術來提升效能,或是擁有比較高的時脈等等,造成顯卡效能上的差距。
CPU會怎樣對顯卡效能造成影響?
1.快速移動視點
由於顯卡效能上的關係,當玩3D遊戲時,其實有貼圖的地方只有玩家現在眼
睛看到的畫面這一部分。以現實世界來比喻的話,請想想您站在中正紀念堂
前面,人的眼睛這時候只充滿了大門而已,這時候兩旁的圍牆您無法也捕捉
進視線。假如是3D遊戲的話,這時候兩邊的圍牆因為玩家看不到,所以是處
於完全沒有貼圖的狀況。
這時候,假如您把視線往左移,改看圍牆,這時候因為原本的地方沒有貼圖
,但因為玩家把視線賺轉了過來,所以顯卡會趕快貼圖、建構3D物件,而那
些物件的圖片資料就是GPU和CPU申請以後,由CPU從記憶體中透過API轉成顯
卡看得懂的資料給顯卡,顯卡再顯示出來。
所以說,當快速轉動視點的時候,CPU比較差的會感覺很頓,甚至有頭昏的感
覺,就是因為CPU來不及給顯卡足夠的資料,讓顯卡也跟著慢了下來(先不考
慮顯卡效能夠不夠的問題)。
白話點,「現在看到的東西」,存在GDDR裡面,由GPU負責。「現在看不到的
東西」,都放在RAM裡面,需要GPU請CPU透過API丟到顯卡裡面。
通常玩遊戲,角色在前進的時候,已經看到的部分已經都在GDDR裡面了,而前
進這一動作會讓離自己比較進的物件移到身後(看不見),而更前面原本看不到
的物件會進入視線(看的見),因此慢慢前進對於CPU就比較不苛求。
但假如是旋轉視點,例如突然往左看九十度,剛才原本「看的見」的部分瞬間
由原本「看不見」的物件取代,GPU等於是和CPU重新要一整個畫面的3D物件資
訊,這時候就比較要求CPU了。
像小弟比較Crysis的部分,當時脈降到2.00GHz的時候,光是跑步就感到頭暈,
而且不太順。尤其是轉動視點看四周的時候,頓的很明顯不說,那種想噁吐的
感覺更明顯。不過一但把時脈提升到3.6GHz,就不會有這種狀況了。補充一下
,小弟玩的時候解析度是開到1920 x 1200,DirectX 10。
2.大量AI
前面說過,AI的部分是由CPU控制,但CPU並不是指揮AI怎麼跑而已。例如AI
要揮手,那顯卡並不知道等會手的多邊形是要往左還是往右,這就要CPU告訴
顯卡該怎麼動。也就是說,當出現以下幾種情況,會考驗到CPU的效能:
•複雜的動作
•大量的動作
•快速的動作
越複雜的動作,CPU就需要越密集的與GPU溝通;越大量的動作(例如幾十隻怪)
,那CPU一次要和GPU溝通的資料就越多;越快速的動作,那CPU就需要越快的速
度與GPU溝通。當然,最操的當然就是超複雜、超大量又超快速的動作。
不過畢竟現在遊戲都發展得很成熟了,遊戲開發者也都有些「撇步」。例如三
國無雙畫面一次一百多個小兵,仔細看的話其中大約只有幾種動作而已。並不
會讓CPU一次控制一百多個小兵都不同的動作操死CPU。套用到一些其他遊戲的
動物、車輛等等也都是這樣「偷吃步」
另外,會有人有疑問說:那小兵會不會因為看不到他的背後,所以他的背後就
沒貼圖?答案是不會。畫面中會動的3D物件都是已經存在GDDR裡面的資料,所
以假如AI揮他的右手,那CPU只需要告訴GPU手該怎麼動,並不需要重新把資料
再從RAM給GPU一次。
3.物理特效
某些超大量的物理特效已經由顯卡負責了,例如一整片海,其實都是利用撇步
所做出來的波浪。DirectX 10對於這部分有新增加一些功能讓這類特效更真實
,這部分就不是由CPU負責了。
不過說到爆炸、碎片、掉落的物體等等就是CPU在計算的了。玩過Crysis的知道
裡面有一個測試CPU效能的Demo,就是一直丟炸彈製造破片、房屋倒塌等等,就
是在測試CPU的效能。
4.其他
因為自己也不是很懂,就不多說免的露餡了
來測試是不是真的有「CPU餵飽顯卡」這回事
首先必須說明的一點:所餵「CPU餵飽顯卡」指的是「CPU有沒有辦法讓顯卡發揮效能」
而不是「遊戲順不順」。