VideoCard 板


LINE

※ 引述《FiveAaaa ([5A]aaa)》之銘言: : ※ 引述《maply0703 (落葉)》之銘言: : : 傳輸頻寬 : : 記憶體時脈每跳動一次時 : : 所傳輸的位元數量 : : 例如記憶體時脈400MHZ : 此處提到了記憶體時脈, 那核心時脈又有什麼影響呢? : 是指: 用 [ (記憶體時脈) * (傳輸頻寬) ] bps傳入GPU, GPU再用xxxMHz來運算嗎? : 謝謝! 小弟剛好是做GPU的..來大概簡述一下好了~ 不過我是寫drvier跟demo的..所以會比較以軟體的角度來想~ 名詞解釋: 視訊記憶體(VRAM)=>也就是顯示卡所標榜的記憶體 系統記憶體(System RAM)=>也就是平常所說的記憶體 GPU=>就是繪圖顯示晶片, 7300GT, 7600GT這類的東西. 大致上流程是這樣的: 1. 傳統: 3D應用程式透過API將節點資料跟效果設定從System Memory送進VRAM Shader: 3D應用程式透過Shader program將資料(包含程式)從System Memory送進VRAM 這是第一個傳送瓶頸:system memory->vram, 最大值限制為PCI/AGP/PCI-E所能承受的頻寬. 2. 上面的步驟是將系統記憶體資料跟命令送進command queue, command queue是什麼呢? 從頭解釋的話太麻煩, 就簡述吧! 當驅動程式下命令給硬體的時候, 硬體是不能做其他事情的, 這一點跟CPU跟OS的關係是一樣的, 所以這時候如果有一個buffer, 把要給硬體的命令存起來 每隔一段時間發一次給硬體, 其他的時間就可以給硬體去做其他事情, 而不會被傳送這些命令佔住時間. 而這些給硬體的命令中, 有很多時候會是送節點資料給硬體的, 這個時候這個機制就很重要了, 如果沒有這個機制的話, 驅動程式跟硬體說, 現在開始從某記憶體位置開始搬資料到VRAM去, 而假設資料很多, 搬動資料需要100毫秒, 那麼這100毫秒就沒辦法做3D運算, 所以FPS就會被限制在10fps以下, 如果有這個機制的話, 那麼驅動程式只要跟硬體說"搬資料囉!" 然後就不用管硬體搬資料搬到哪, 而可以繼續做之前沒做完的3D運算, 而不用等硬體搬資料. 這個道理跟最近新興的硬碟NCQ原理是一樣的, 不過這個機制在顯示卡上已經行之有年了~ command queue就是這個buffer, 而這時候引擎&記憶體的時脈就開始有影響了: GPU這時候會從VRAM command queue部分parse資料, 然後做運算, 送到frame buffer去(frame buffer定義請查google, 因為很基本) 這裡就扯到VRAM跟GPU時脈的關係了, VRAM送的快, GPU就收的多, 能處理的3D指令也就多, 速度也就越快, 如果VRAM太慢, 那麼資料送不夠快, 那麼引擎工作當然也快不起來, 會有很多時間閒置. 如果VRAM夠快, GPU卻不夠快, 那麼GPU就會卡住效能. 3. GPU畫完之後, 如果非全螢幕的話, 通常會將framebuffer放在一個看不見的buffer, 然後在將buffer打到window內, 這部分就跟vram有很大的關係了, 因為這是一個gpu->vram->vram copy的動作, 這個部分記憶體時脈就直接影響到所謂的Fill Rate (像素填充率) 假設GPU能力可以負荷到每秒一億個點, 但是記憶體卻沒辦法跟上, 那麼Fill Rate就會被卡VRAM那端. 如果vram每秒有效時脈是400Mhz, 那麼一秒鐘就可以搬4億次資料, 假設記憶體寬度是128bit, 那麼一秒就是51200000000bps, 約6GB/s,如果畫面是32bit RGBA的話, 那麼fill rate就是1.5 Billion pixel/sec. 注意, 這是以vram的速度來判斷的, 並不是GPU時脈去算, 假設GPU時脈560Mhz, 256bit, 那麼一秒可運算的資料量就是: 560000000*256bit/32bit=>fill rate = 4.48Billion pixel/sec, 而全螢幕的時候不需要做搬動的動作, 因為不需考慮視窗重疊的狀況, 所以實際能力可以加倍, 將資料搬移簡化到單純一次gpu->vram, 所以在16bit色彩理想狀態可達到9 billion pixel/sec, 扣掉GPU自己的耗時, 就是實際的fill rate. (這是假設沒有interrupt發生或者其他因素的理想狀態, 實際不大可能達到XD) 也有些廠商會用32bit當spec, 但是會做一些加成, 或者特殊的"偷吃步", 來省時間以達到一些漂亮的數字, 也就是犧牲品質換取速率. 也就是說, 就算GPU可以做到這麼快, 但是如果VRAM衝不到這麼快, 則像素填充率就會被限制在VRAM上, 這也就是為什麼超頻記憶體會有用的原因之一. 上面我是拿7600GT當範例, 但是7600GT spec寫的是6.7 billion pixel/sec? 這部分是因為command會有一些overhead, 並不是所有的時脈都可以全部拿來做填充的動作.(就是上面提的gpu自己的耗時) 至於為什麼我會拿400Mhz而不是拿ddr的800Mhz來說呢? 因為, GPU跟VRAM溝通是需要做hand-shaking的,而記憶體本身也會有些延遲, hand-shaking這個動作就是在做: GPU發命令跟記憶體說"我要送資料了" 接著等一小段時間, 可能是1個tick, 也可能會慢到3~4個tick, 接著記憶體會回"ok我可以收", 然後又會等1~3個tick去等GPU發資料, 所以說這些頻寬能力並不是直接拿來乘就好, 實際頻寬還是需要除掉這些hand-shaking的時間的, 在這裡我用了比較低的數據去估計, 畢竟我不知道各廠商的記憶體設定:p 所以說, 記憶體寬度決定了視訊記憶體是否會成為GPU瓶頸, 但是或許有人會說, 照這樣算起來, 7900GTX的記憶體根本也達不到需要的頻寬!? 沒錯, 因為事實上根本沒必要讓記憶體完全跟上GPU, 透過OpenGL/Direct3D這些API, 可以事先把資料送進VRAM, 然後之後就不在需要每個frame都送一次資料, 這部分就相當的省時了, 這使得傳輸的資料可以簡化到大部分都是送硬體命令, 省下了最佔時間的資料傳輸時間. 這個時候, game跟game engine設計好壞就可以一分高下了, 好的引擎跟遊戲設計規劃可以省下許多不必要的資料傳輸, 對於vram頻寬的需求相對就減少許多, EA Games就是這方面我認為最強的專家, 而這也是為什麼有些廠商的遊戲竟然普通的效果就要很高的硬體, 有些廠商的遊戲居然可以用低硬體要求究可以做到更好的效果的原因. 至於polygon rate又是另一個故事了....0rz 就不提啦XD 所以呢..我一直覺得買最好的顯示卡是阻礙那些爛遊戲引擎發展的元兇阿XD 但是也有時候遊戲程式寫的爛但是把時間花在遊戲內容上的話 我還是會覺得很值得就是了...真兩難阿QQ : : 傳輸頻寬64BIT : : 傳輸速度就是 : : 400*64/8(/8是bit轉換成byte)=3200MB/sec : : 如果時脈相同,bit變成128bit : : 400*128/8=6400MB/sec : : 直接變成兩倍 : : 所以bit數是相當重要的喔! --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.88.74
1F:推 sjory:專業 推 218.184.198.9 11/06 11:50
2F:推 jackcheng:未看先推220.132.120.108 11/06 11:50
3F:推 Gayarou:大推>_o b 163.25.148.46 11/06 11:52
4F:推 HDTV:好文 推 125.233.7.186 11/06 12:10
5F:推 quamtum:應該不是ncq吧ncq還會找最佳路徑解讀取區 61.66.243.100 11/06 12:13
6F:→ quamtum:塊,也就是比較好的dramc可以out of order 61.66.243.100 11/06 12:16
7F:推 cn1754:好文推一個 220.131.32.106 11/06 12:18
8F:推 tmac:高手 211.74.234.212 11/06 12:20
9F:推 alvinli:ncq部分我不清楚 不過概念一樣嚕 220.135.88.74 11/06 12:20
10F:→ alvinli:gpu command queue其實也是會有最佳化的 220.135.88.74 11/06 12:20
11F:→ alvinli:ncq是臨時想到才舉的 說錯話請見諒 XD 220.135.88.74 11/06 12:20
12F:推 ws1204:推 59.112.8.94 11/06 12:32
13F:推 nrsair:好文大推 210.68.141.220 11/06 12:41
14F:推 nan13579:好文 推 140.125.203.38 11/06 12:45
15F:推 Pojin:被m前先推 高手高手高高手XDDD 59.105.25.56 11/06 13:02
16F:推 hellk:用大陸的說法 技術帖!我頂 140.135.9.11 11/06 13:12
17F:推 ytyty:推 163.17.44.34 11/06 13:29
18F:推 FiveAaaa:謝謝! 但是頻寬6GBps如何求得Fill Rate? 140.113.151.87 11/06 13:30
19F:推 alvinli:每筆資料4byte, 一秒送1.5G次 220.135.88.74 11/06 13:38
20F:→ alvinli:所以..剛剛打錯了..1.5才對 不是1.25XD 220.135.88.74 11/06 13:38
※ 編輯: alvinli 來自: 220.135.88.74 (11/06 13:39)
21F:→ alvinli:已修正~ 220.135.88.74 11/06 13:39
※ 編輯: alvinli 來自: 220.135.88.74 (11/06 13:48)
22F:推 roseritter:真屌 59.126.49.245 11/06 14:10
23F:推 halt:專業的來惹~ 版主請M! 59.120.154.109 11/06 15:48
24F:推 onicid:這個一定要先來推一下的 218.168.70.32 11/06 15:55
25F:推 cychi:推推 長知識220.228.165.112 11/06 15:58
※ 編輯: alvinli 來自: 220.135.88.74 (11/06 16:05)
26F:推 alvinli:有一行不小心刪了 剛自己看發現會大誤導 220.135.88.74 11/06 16:05
27F:→ alvinli:已補上@@ 220.135.88.74 11/06 16:06
28F:推 Rafallos:超專業...受教了 61.57.148.10 11/06 16:41
29F:推 euro99:超專業!218.162.175.197 11/06 16:57
30F:推 MRjk:GOOD 218.165.78.242 11/06 17:09
31F:推 Zerocks:天啊..好文大推! 220.135.206.31 11/06 17:26
32F:推 fa18e: <( ̄▽ ̄)/ .. 61.57.128.42 11/06 17:40
33F:推 spirit711628:雖然直接END還是要推 163.15.33.90 11/06 17:58
34F:推 albert0507:超專業 推~ 163.24.253.16 11/06 18:03
35F:推 hyde211:推 218.168.84.232 11/06 18:15
36F:推 truemail0616:真強者!!!先推一個!! 61.31.133.203 11/06 18:42
37F:推 bartester:專業 61.225.35.144 11/06 19:22
38F:推 Draculalu:這篇怎麼還沒被m起來?125.232.155.209 11/06 20:19
39F:推 rock0807:先推在慢慢看 59.112.26.51 11/06 20:23
40F:推 sugini:雖然有點看不懂不過還是推.不是唸理工的=_=218.174.174.247 11/06 20:23
41F:推 icome:您真內行! 61.62.135.23 11/06 20:44
42F:推 Cisse:專業的 推! 61.59.230.214 11/06 20:47
43F:推 basala7477:好文 推一個 59.127.15.186 11/06 20:53
44F:推 panasony:這個專業啊! 該M 218.170.30.186 11/06 22:18
45F:推 jeffrank:cool~220.134.102.148 11/06 22:56
46F:推 FiveAaaa:那麼VRAM時脈還是GPU時脈決定fill rate?140.113.140.149 11/06 23:16
47F:→ FiveAaaa:然後fill rate就決定效能對吧?140.113.140.149 11/06 23:17
48F:推 Karter:這篇不M嗎? 61.224.81.60 11/07 01:04
49F:推 matrixkiller:push!!!125.229.216.166 11/07 02:08
50F:推 needhp:太厲害了,我有點看不懂呢@@ 163.24.253.18 11/07 02:26
51F:推 Limsea:這個專業! 59.113.50.122 11/07 03:56
52F:推 MickJan:WOW 一整個超專業的啦~ 61.216.169.70 11/07 09:27
53F:推 ntnumaxpower:push 太專業了@@ 218.167.71.105 11/07 18:24







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP