Вы находитесь на странице: 1из 14

Mobile01 [小惡魔的電腦教室] 4-2.

顯示卡規格解說,附帶該死的3D圖學 Page 1 of 14

正體 | 簡體 | 攜帶版 | English 站內搜尋


首頁 | 會員中心 | 網誌服務 | 線上購物
顯示設備

進階防噪Walkman s730預購 【下載】MSN 9.0 搶鮮版 創新告白話…拒領好人卡!


靈活配出利 | 手機 | PDA & GPS | 筆電 | 相機 | 電腦 | 汽機車 | 單車 | 遊戲 | 居家房事 | 女性流行 | 時尚生活 | 旅遊美食 | 貼圖 | 二手市場

行事曆 | 本站新聞 | 精選文章 | 新進文章 | 搜尋 | 精華區 | 熱門文章 | 註冊 | 登入

» Mobile01 首頁 » 個人電腦 » 顯示設備 » 載入圖片

小惡魔的電腦教
小惡魔的電腦教室 ] 4-2.顯示
[小惡魔的電腦 顯示卡
顯示卡規格解說
規格解說,附帶該死的3D圖學
附帶該死的 圖學 » 寵愛01網友獨享~只要2,990即可將捷安特騎回家
» 前往頁尾

» 前往: 選擇討論群組

» 前往頁面 1 , 2 , 3 , 下一頁

檢視分區列表 | 核心組件 | 儲存裝置 | 顯示設備 | 鍵盤滑鼠 | 電腦螢幕 | 機殼散熱與電源 | 電腦週邊 | 網路產品與技術 | 軟體與網站 | 我愛吃
蘋果 | 行動影音 | 電腦綜合討論 | SmartStor

G.F
»1
文章編號 : 3759338
文章日期 : 2007-10-05 09:57
文章積分 : 81
文章人氣 : 21,230
» 小惡魔廣編特輯
個人積分 : 2,992
不景氣 錢要放在哪
錢要放在哪裡才安心?
裡才安心
對於想深入了解GPU規格的人,我必須很遺憾的說,GPU規格跟基本3D圖學綁在一起,要真的了解像素管線、頂點
景氣反轉難
處理單元等等那些鬼東西的意義,就一定得對3D繪圖流程有基本的概念。這篇我會用最淺顯的語言來講,但許多部 以置信! 上
班族如何善
分會跳過不講,3D高手們請見諒,看完如果有問題再用討論串來聊吧,我會盡我所能的回答。 用薪水,進而
穩定獲利?
know more...

要賺就要省大的-省
就要省大的 省夠夠精選套
夠夠精選套
餐!
3D繪圖流程 買印表機小
老闆最care
的是什麼
呢?問十個
現在顯示卡主要就是玩3D遊戲,而遊戲畫面是屬於3D「即時繪圖」(Realtime Rendering)的領域,它不像工業 應該有九個
設計、動畫電影那樣需要超高解析度和精確度,遊戲的3D畫面只要快,一秒至少要畫出30張(動畫電影可能是一 都會回答是
耗材成本要低、機器要便宜、功
兩個小時畫一張),打電動的人才不會覺得延遲,所以娛樂用的GPU都會有很多取巧。而拆解到最簡單,3D繪圖可 能越多越好...

分成「建立骨架」、「貼圖」和「輸出畫面」三個步驟。 想隨時看大銀幕電影嗎
想隨時看大銀幕電影嗎?
Epson私の
Fun映机最
新機種
EMP-
1.建立骨架 DM1;可攜
式設計搭配天花板投影套件,讓
由於一些我也不太確定的歷史原因,現在3D繪圖是以三角形或「多邊形」(Polygon)為基礎來建構物體的外型, 每個天花板都是你的大銀幕!
遊戲裡「所有的」物體都是由一片片三角形堆疊出來的,而每個三角形都是由三個頂點(Vertex)構成,比如附圖 玩色達人狂歡3C派對
玩色達人狂歡 派對
的那個人頭骨架,仔細看就會發現它是由數萬個三角形組合而成。這也是為什麼早期遊戲的物體都讓人覺得稜稜角 奢華金、沉
穩黑、低調
角的,因為需要大量的三角形才能組成近似圓弧狀的物體,若顯示卡不夠力就沒辦法處理大量多邊形,只用少量的 銀、甜美
粉、純真
多邊形建構外型,就會出現稜稜角角的物件。 白,顏色決
定你的性
格,你是屬於甚麼Tone調的玩
色達人,立即去看看~

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25
Mobile01 [小惡魔的電腦教室] 4-2.顯示卡規格解說,附帶該死的3D圖學 Page 2 of 14

仔細看這個人頭,他的骨架其實是由數十萬個三角形組合而成。

註1:每一個三角形需要三個頂點,但每「兩個」三角形只需要四個頂點,所以廠商標的GPU規格的三角形
組合速度是以每四個頂點形成兩個三角形來計算的

註2:過去曾有「非」多邊形運算為基礎的GPU,它們是以方程式來建構物體外型,方程式可以非常簡單的
畫出圓弧,但卻不容易畫出方正的物體,由於自然界或人造物體大多偏方正,也許這是最後採用多邊形的原
因。

2.材質貼圖
用三角形建立出物體的骨架之後,物體就有線條式的骨架了,但如果要讓人知道它到底是什麼,一定要貼上一層
皮,也就是材質貼圖(Texture),附圖就是貼上皮膚、眼睛、眉毛的材質,其實材質就是圖片,由一點一點的像
素(Pixel)構成,貼上之後原來的骨架就會變成人頭了。

貼上材質再做處理之後,就變成一顆人頭了。

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25
Mobile01 [小惡魔的電腦教室] 4-2.顯示卡規格解說,附帶該死的3D圖學 Page 3 of 14

3.輸出畫面
你螢幕是3D的嗎?我相信99.999%正在看這篇文章的人都只有平面的螢幕,但以上兩個步驟運算完會得到一顆真
正全3D的人頭,但因為螢幕只有2D平面,所以GPU最後一步就是把這個3D的場景,依照你所看到的視角(攝影機
視野),投射成一張2D的畫面,並輸出到螢幕上。

以上就是3D繪圖超簡化流程,GPU要做的就是把多邊形組合起來,在正確的地方貼上正確的圖片,然後輸出畫面到
螢幕上,變成下面的遊戲圖。

GPU平行運算
仔細看一下遊戲圖,右上角的房子跟右下角的槍其實沒什麼關連,它們根本就是兩組多邊形的骨架,也有各自的貼
圖,在遊戲中這兩樣東西也不會互動,如果能把槍和房子的運算分離開來,GPU內裝兩組運算單元,那不就可以同
時運算畫面的不同部分,加快運算速度了?事實上,無論3D或2D畫面,會彼此相關的通常只有緊接相鄰的部分,
大範圍來看,其實很多地方都是可以各自獨立運算的,也因為如此,GPU才會很早就有SLI或Crossfire這種串連技
術的存在。

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25
Mobile01 [小惡魔的電腦教室] 4-2.顯示卡規格解說,附帶該死的3D圖學 Page 4 of 14

GPU最基本的運算方式就是將畫面上各個像素做獨立運算,很像現在雙核心CPU的的處理方式,但GPU至少都數十
或上百個核心,所以平行運算會更徹底。

註3:實際上,GPU運算並非像上圖那樣把畫面分割,那只是簡化說明的示意圖。現在GPU通常是以很小的
4x4的區域,16個像素一起做運算(16個只是「通常」,實際數字依各GPU的設計而不同),讓有可能彼
此相關的相鄰像素一起運算,但畫面是依序執行的,並沒有真的「分割」,只是一次每16個像素依序丟進運
算單元裡,當運算單元大量複製時,就可以同時運算數百甚至上千個像素,彼此大多互不相干。就某種意義
上來看,就是運算畫面的不同部分,只是這個「部分」是很微小的區域,真正「大範圍的分割畫面做運算」
主要是用在SLI或Crossfire串連技術上。

因此,「平行運算」(Parallel Processing)是GPU最基本的運算概念,就像現在流行的雙核心CPU可一次做兩件
事,最新的GPU已經高度平行化到數百個運算單元(可類比成有數百個簡單核心)。由於3D畫面上不同區域的彼此
關聯性不高,在很久很久以前,GPU就開始在內部平行拆成好幾個部分,就好像有好幾個核心在一起運算,過去大
家常說的「管線」(Pipeline)就是有多少條平行化的部分,從多邊形組合、貼圖到輸出畫面,這樣的3D畫面「生
產線」可能有四或八條同時運作,愈多當然就愈快。

和CPU不同的是,GPU的平行運算是自發的,程式人員不需要特別去寫,3D運算本身就有平行化的天性,GPU自己
會在內部拆開來做運算,

Shader是什麼?
但現在新的GPU已經不是管線的架構了,從DirectX 8.0開始引進Shader運算的概念之後,現在GPU的運算幾乎全
部集中在Shader處理上。Shader是多邊形組合或貼圖之後,GPU再對多邊形與材質做進一步的處理,簡單的說就
是各種數學公式(化到最基本,就是加減乘除而已),依照不同的演算法技巧,原本靜態的貼圖或多邊形就會變成
動態的特效,比如大家現在在遊戲中常看到水面起伏和物體的反光/凹凸效果,就是利用Shader調整頂點的位置或
像素的顏色。

現在遊戲超大量使用Shader,所以GPU硬體也跟著改變,處理材質和輸出畫面的單元並不多,但大幅增加Shader
運算單元,比如新的高階GPU至少都上百個Shader單元,但通常只有數十個輸出畫面的單元,因為瓶頸通通卡在
Shader上,增加輸出畫面的單元也只是浪費晶片面積而已。因此,看新一代的GPU架構的話,都是一大片Shader
運算單元,搭配少量的材質和畫面輸出單元,這已經不是相同的管線有好幾條,而是依照需求量高低做各種單元的
配置。

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25
Mobile01 [小惡魔的電腦教室] 4-2.顯示卡規格解說,附帶該死的3D圖學 Page 5 of 14

現在遊戲中Shader使用已經無所不在,就這一張單純的場景,見到的每一個表面紋路(地板、牆壁、樹幹、招
牌),都是先用單純的圖片,再套上記錄材質高度資訊的檔案,以光源和視角計算光影位置,最後產生這種凹凸的
紋路,而計算的程式碼就是Shader。

GPU主要規格

現在,把多邊形、像素、材質、畫面輸出、平行化、Shader記在心裡,GPU的規格和這些息息相關,關於規格的
我只能挑出幾項最重要的,GPU的細部技術有幾十項,一時也說不完。

還沒焊到顯示卡上的晶片,廠商朋友送我的,好像是ATI Radeon HD 2600的樣子。我記得前年曾到NVIDIA總部


參觀他們的實驗室,垃圾桶裡有一堆這種晶片,就看到全球各大媒體在翻垃圾桶找紀念品,要不是裡面不淮拍照,
我一定把那一堆乞丐(包括我)拍下來。

GPU-Z
看CPU資訊的CPU-Z大家都知道,最近出現一支 GPU-Z 則是看顯示晶片的各種資訊,GPU-Z的作者和CPU-Z好像
不一樣,只是取了一個很類似的名字,讓大家一看就懂它的功能。目前GPU-Z還在很初期的版本,但我試了
NVIDIA和ATI的新卡都沒問題,連最近才剛出的2900 Pro都可以正確辨識。

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25
Mobile01 [小惡魔的電腦教室] 4-2.顯示卡規格解說,附帶該死的3D圖學 Page 6 of 14

GPU-Z會秀出幾個主要的GPU規格,包括代號、die size、時脈、頻寬、Shader數量、ROP等等。不過GPU-Z會
存取系統資訊,卡車司機防毒軟體會擋下來,讓它通過沒關係,大家可以對照GPU-Z秀出來的規格,往下看各規格
的說明。

支援DirectX版本
DirectX是顯示卡與遊戲溝通的標準,硬體通常通常會向下相容,但GPU和遊戲所用的DirectX版本必須對應才能顯
示所有特效。現在最新的DirectX到10.0,遊戲大多還是用DirectX 9.0。DirectX 9.0的GPU是可以玩DirectX 10
的遊戲,但就秀不出只有DirectX 10才支援的特效。每一版DirectX 10都會增加新的特色或指令,可以創造出更真
實的畫面,而就像GPU已轉變成處理Shader為主,DirectX最重要的部分就是各種Shader指令,最新的DirectX
10不止可以用Shader改變頂點(Vertex Shader)、像素(Pixel Shader),還能移動、產生或砍掉整片多邊形
(Geometry Shader),這可以做出物體無限增長(如藤蔓、頭髮、流體等等)的特效。

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25
Mobile01 [小惡魔的電腦教室] 4-2.顯示卡規格解說,附帶該死的3D圖學 Page 7 of 14

這是DirectX 10的一個demo,場景的地形可以一直增長改變形狀,DirectX 9不是做不到,但DirectX 10做起來


會比較輕鬆。

GPU核心時脈
GPU就跟CPU一樣是半導體製程下的產物,但製程方式並不同,且GPU因為高度平行化,運算單元可以大量複製,
所以GPU的電晶體數量都輕鬆超越CPU,晶片面積每一代都在挑戰製程的極限,高階GPU的電晶體已經達七億之
譜,最高階的CPU還不到一半。GPU靠著平行化的運算,時脈不用太高就有超高的運算能力,目前大約在400~
800MHz左右,近期應該還不會突破1GHz的關卡。GPU負責前面所講的3D運算流程,因此直接影響3D效能,但不
同架構的GPU不能互相比較時脈,因為它們單一時脈週期所做的事不一樣,NVIDIA的600Mhz和ATI的600Mhz代
表意義可能大不相同,對NVIDIA來說,600MHz可能算高,但對ATI可能只是一般時脈而已。

記憶體頻寬
這是顯示卡第二重要的規格,記憶體頻寬(Memory Bandwidth)的計算方式是「記憶體匯流排介面 x 記憶體時
脈」,記憶體介面(Memory Bus Width)和時脈的講解可參考「3-1.認識記憶體,時脈和時序的意義」,這裡就
不再重複,顯示記憶體和系統不同點是介面和時脈都比較高,介面至少是64位元起跳,目前最高是512位元,時脈
則從400MHz~2000MHz以上不等,會因為不同的時脈而採用不同的記憶體,從DDR2到GDDR4都有,「版本」
愈高,時脈就愈快。

顯示卡的記憶體介面和時脈分開看並沒有很大意義,相乘的頻寬才是最重要的,由於GPU高度平行化,代表它內部
可同時運算很多資料,但也代表後端必須能一次進出大量的資料。在運算3D畫面時,多邊形、材質貼圖、畫面等等
都要反覆進出顯示卡的記憶體,容量反而是影響效能的次要因素,頻寬速度才是決定顯示卡的效能的主因之一(僅
次於核心規格),若GPU的單元超多,但記憶體頻寬卻跟不上,沒辦法餵飽或支援GPU的話也沒用,所以高階卡一
定有較寬的介面與較高的記憶體時脈,組合出超高的頻寬,每秒將近100GB的傳輸速度也不稀奇。

記住一個原則,愈是平行化的系統,就愈需要記憶體頻寬來同時輸出輸入大量資料,但像CPU這種核心較少的循序
處理器,就愈需要高速、低延遲的記憶體來輔助(但CPU再往多核心繼續發展下去,頻寬的重要性也會愈來愈突
顯)。GPU要的是資料的「量」,CPU要的是資料到達的「時間」。

Stream Processor
在這一代產品之前,GPU內部都還有區分處理頂點和像素的Shader運算單元,但這一代NVIDIA和ATI都統一成
Stream Processor(串流處理器),SP不管頂點或像素Shader,通通都可以運算。GPU做成SP不止是為了
Shader運算,還有更長遠的用途,但那之後再說。總之,SP就相當於非常簡化的CPU核心,負責Shader裡的數學
運算,現在GPU的SP數量從數十到數百不等,依顯示卡的定位價格不同,數量愈多,平行化愈徹底,速度自然就愈
快。

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25
Mobile01 [小惡魔的電腦教室] 4-2.顯示卡規格解說,附帶該死的3D圖學 Page 8 of 14

目前ATI和NVIDIA對於SP的設計很不一樣,ATI是採取量大但低時脈的方向,NVIDIA則是小量但高時脈,ATI新
Radeon HD 2000系列通常有較多的SP,但SP時脈跟核心時脈一樣;NVIDIA GeForce 8的SP數目很少,但時脈
至少都有1GHz以上,等於是在GPU核心時脈之外,另外有一個區域跑較高的時脈,加速Shader的運算。

現在新的GPU都採用Unified Shader(統一Shader)架構,不再分像素或頂點,這樣不管畫面是多邊形複雜、或
是像素特效複雜的,GPU內的Shader運算單元都能保持在滿載狀態,不會浪費。

材質單元和畫面輸出
材質單元負責把遊戲需要的貼圖從記憶體載到核心之中,另外也負責材質的過濾(Texture Filtering),常聽到的
AF(Anisotropic filtering,非等向性過濾)就是材質過濾的其中一種演算法,材質要過濾是因為在3D世界裡,物
體有遠近之分,遠的物體就只需要較小的貼圖,材質過濾是把大圖片縮成小圖片,貼在遠處的物體上,材質單元的
數目會影響貼圖速度和遊戲畫質,愈多當然愈好,不過現在的3D運算趨勢是單一材質做大量Shader處理,所以材
質單元反而主要是影響過濾後的畫質。

畫面輸出通常稱為ROP(Raster Opteration)或Render Backend,這是把3D的場景依視角「掃瞄」成2D平面


的一張圖片,這會影響GPU的「像素填充速度」(Pixel Fillrate),但一樣,現在3D運算的效能瓶頸都在Shader
上,畫面輸出速度已經無所謂了。現在ROP最重要功用是做反鋸齒(Anti-Aliasing)和後處理,反鋸齒是消除畫面
輸出時所產生的鋸齒,後處理特效很多,常見的例子就是HDR高動態光源特效。

HDR特效之前並不多,但現在愈來愈多遊戲採用了,圖中有強烈反光的地方,也有很陰暗的角落,這就是HDR高動
態光源的成果。

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25
Mobile01 [小惡魔的電腦教室] 4-2.顯示卡規格解說,附帶該死的3D圖學 Page 9 of 14

記憶體容量
最後,也是我覺得不大重要的記憶體容量,現在顯示卡的記憶體已經無關2D顯示,主要是存放3D遊戲所需的資
料,也就是角色多邊形、貼圖等等,一般來說,低中高階大約是128MB、256MB、512MB以上。記憶體容量會影
響效能,但通常是「限制效能」而非「增加效能」,比如高階卡可開更高的特效和解析度,就需要大容量的記憶
體,如果容量不夠就會限制晶片的一些效能,因為得透過PCI-E介面從系統主記憶體抓資料;但是低階卡只需要
128MB或256MB左右,加到512MB也不會提升效能(在他們所適用的解析度下),反而換上高時脈的記憶體提升
頻寬會有用的多。

現在顯示卡的成本有很大一部分是來自於高速記憶體,記憶體的發展速度已經跟不上GPU改朝換代的速度,所以上
廠商開始會用記憶體容量來限制原本晶片的能力,並以此來區分價格和定位。

結語

ATI Radeon HD 2600的架構圖,中間一大塊就是Shader運算單元,其他每個區塊都有它的功用。

這篇我只挑了GPU「最重要」的規格來講,其實GPU內部是各種演算法和專利的綜合體,為什麼現在會殺到只剩下
兩家大廠,其他如VIA、Intel、Matrox、XGI都黯然退出或只能打打入門市場,因為GPU的進入門檻實在太高了。
先不講最複雜的Shader運算單元,光是反鋸齒的演算法、剔除不必要多邊形的技術(3D世界下,因為視角關係很
多東西會相互重疊,最好在運算之前就去除)、材質壓縮的方法、或甚至運算平行化時要讓多少相鄰像素一起計算
等等,就都是NVIDIA和ATI多年累積的研發經驗,很難在短短一篇文章裡全部講完。

下一篇會專講2D影片加速的部分,這是新一代GPU最為強調的重點之一,也是目前NVIDIA和ATI口水戰打的最猛
烈的一塊。

口米口米目艮
»2
文章編號 : 3759448
文章日期 : 2007-10-05 10:09

比較不了解的是~NVIDIA的600Mhz和ATI的600Mhz代表意義可能大不相同~

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25
Mobile01 [小惡魔的電腦教室] 4-2.顯示卡規格解說,附帶該死的3D圖學 Page 10 of 14

這是什麼意思呢?

G.F
»3
文章編號 : 3759735
文章日期 : 2007-10-05 10:41
個人積分 : 2,992

口米口米目艮 wrote:
比較不了解的是~NV...(恕刪)

嗯,因為架構不同,NVIDIA的600MHz可能算高,但ATI的600MHz就可能是普通而已,不能因為說都是
600MHz,就認為效能差不多~~: ),當然也不能說ATI時脈高就比較好,因為晶片設計時都有他們各自瞄準的時
脈,架構也會因此做適應。

咩咩羊
咩咩羊
»4
文章編號 : 3760200
文章日期 : 2007-10-05 11:31
個人積分 : 18

又增長一些硬體知識啦! 很精采的文章!

加分是一定要的,五分獻上!
大家看到好文,長知識之外,請別忘記給分唷!

MoreForce
»5
文章編號 : 3760512
無圖示 文章日期 : 2007-10-05 12:03
個人積分 : 3

國內能寫出九淺一深......呃...如此淺顯易懂的人大概只有你了吧!這篇文章可說是精華啊!感謝G.F.大大的文章解
說。

忘了補充一句 , 現在記憶體頻寬愈大的卡 , 好像GPU效能都不怎麼樣...哈哈哈...ATI會不會殺掉我...

G.F
»6
文章編號 : 3760809
文章日期 : 2007-10-05 12:45
個人積分 : 2,992

MoreForce wrote:
忘了補充一句 , 現在記憶體頻寬愈大的卡 , 好像GPU效能都不怎麼樣...哈哈哈...ATI會不會殺掉我.......(恕刪)

嗯,這跟GPU對記憶體頻寬的利用率有關了,ATI....嗯,最近狀況實在不太好。

murafrank

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25
Mobile01 [小惡魔的電腦教室] 4-2.顯示卡規格解說,附帶該死的3D圖學 Page 11 of 14

»7
文章編號 : 3760868
文章日期 : 2007-10-05 12:54

G.F wrote:
對於想深入了解GPU...(恕刪)

對於這段補充一下:
"GPU就跟CPU一樣是半導體製程下的產物,但製程方式並不同,且GPU因為高度平行化,運算單元可以大量複
製,所以GPU的電晶體數量都輕鬆超越CPU,晶片面積每一代都在挑戰製程的極限,高階GPU的電晶體已經達七億
之譜,最高階的CPU還不到一半。"

GPU電晶體數量輕鬆超越CPU的原因不只是因為運算單元可以大量複製. 以現今的X86/X86-64架構來說, 每開發出


一個核心架構, 這個架構的生命周期都不短, 開發時間也不短, 所以Intel/AMD可以針對每一個模組去做最佳化的硬
體設計, 不斷的精緻化設計, 自己寫unit來降低gate數量. 但是GPU不同, 這相對是個速戰速決的戰場, 所以GPU很
多地方在設計的時候只能從軟體中拉出人家設定好的硬體單元, 直接套用上去, 而這些單元兜起來其實可能就浪費很
多gate數量了, 自然也增加了耗電, 但是好處就是, 架構一確定, 把各模組組合起來, 不用去tune整個硬體邏輯, 也
不用投資源去驗證自訂單元, 馬上就可以做出IC來.

G.F
»8
文章編號 : 3761243
文章日期 : 2007-10-05 13:38
個人積分 : 2,992

murafrank wrote:
對於這段補充一下:"...(恕刪)

murafrank說的對!GPU為了加快時程,大多是用軟體產生GPU的線路,CPU則慢慢手工設計,不過還是有特例,
NVIDIA GeForce 8系列中的Shader單元就是先用軟體弄好之後,再用手工調整,花了四年的時間才做出來,不
過成效大家都看的到,省電、時脈高、效能也很好!

我想ATI下一代產品應該也會跟進,或許不是整顆晶片都用人工慢慢調整,但最重要的Shader單元可能會開始比照
CPU的方式。

supertaiwan
»9
文章編號 : 3762056
文章日期 : 2007-10-05 15:21

G.F wrote:
對於想深入了解GPU...(恕刪)

加分是一定要的,五分獻上

weipig926
» 10
文章編號 : 3763358
文章日期 : 2007-10-05 18:00
個人積分 : 21

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25
Mobile01 [小惡魔的電腦教室] 4-2.顯示卡規格解說,附帶該死的3D圖學 Page 12 of 14

看完還是很難去選擇需要買的顯卡耶

我想請教~ 像光華網網上的顯卡

一樣是GeForce 8600GT 256MB DDR3 128B.... 但價格卻都不同

而 8600跟 8800價錢又差了一大大節 .有些有只差一點

到底為何? 而我該怎選擇表上琳琅滿目的卡

我只知道價錢越貴越好的外行人

問這問題也順便幫跟我一樣不懂.又想自己選擇的人問

mice
» 11
文章編號 : 3763747
無圖示 文章日期 : 2007-10-05 19:02

文章寫的淺顯易懂,讓我對顯示卡更進一步的了解,真是感謝您,Thanks!!

mouse

貍貓小胖
» 12
文章編號 : 3764732
文章日期 : 2007-10-05 21:53

之所以會用三角形來作3D骨架
是因為一個三角形能決定一個平面嗎?

加油吧!GF大
我以後買電腦的建議
就靠你了~~

G.F
» 13
文章編號 : 3765276
文章日期 : 2007-10-05 22:57
個人積分 : 2,992

貍貓小胖 wrote:
之所以會用三角形來作...(恕刪)

可能是因為三角形容易建構出方正的物體,而日常生活或人造物大多是方方正正的。

這是我猜測的啦,我也不確定為什麼最後是用三角形而不是方程式,可能有一些歷史因素在吧。

arionzin
» 14

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25
Mobile01 [小惡魔的電腦教室] 4-2.顯示卡規格解說,附帶該死的3D圖學 Page 13 of 14

文章編號 : 3766013
文章日期 : 2007-10-06 00:14
個人積分 : 10
無圖示

好文章~加油!

以前當遊戲美術總監,常常跟程式要求寫個Shader來用用

鼯鼠五技而窮~早死早超生

murafrank
» 15
文章編號 : 3766842
文章日期 : 2007-10-06 02:19

G.F wrote:
可能是因為三角形容易...(恕刪)

幾個原因:
1. 傳統pipeline填色走的是scanline方式, scanline的方式如果用方程式的畫會造成很多麻煩, 例如, 如果畫出來的
東西是個凹多邊形, 那麼得用別的演算法來計算邊界點, 如果是星型怎麼半呢? 中間的那塊區域到底要不要畫? 這很
難用硬體去做, 很難做到在短時間內搞定. 三角形就不一樣了, 一個triangle based gouraud shading填色單元可
以直接用內插法取得邊界線的座標, 直接以line畫出, 1T就搞定.

2. 三角形能輕易的組合成任何形狀, 線條不行, 如果你想用線條組合成圓形, 你會需要一個公式, 如果你想畫不規則


形狀, 那又得要一個公式, 也或許根本不可能存在這樣的公式, 這種方式在傳統TnL上根本沒辦法硬體加速, 且無法輕
易的填色(得做BFS填色)
ps. TnL => Transformation and Lighting

3. 線條以及點能做到的, 三角形都做得到, 三個頂點中兩個頂點相同就是線, 三個頂點同就是點, 可以輕易的決定3D


物件精細度, 只要你三角形的頂點距離越進, 總量越多, 模型就越細. 當然或許會有人說靠texture不就得了? 並不
是, texture只能針對物件內容做美化, 但是事實上人眼對於物體的邊界輪廓線是很敏感的, 這靠texture解決不了,
得靠細緻的polygon才行, 而這時候只要三角形數量夠多, 每個三角形夠小, 輪廓線就會很漂亮.

4. 三角形可以清楚的定義法向量, 決定backface的polygon是哪些, 可以直接裁掉, 增加效率. 有個統計數字是, 遊


戲場景中平均每個畫面會有40%的polygon是面向camera背面的, 想想看, 這樣效率會差多少呢? 法向量的另一個
用途就是光影效果. 三角形可以輕易的定義正面反面, 內部外部, 所以只要給予每個三角形對應的法向量, GPU就可
以算出光線打在這個polygon的時候, 根據ViewDirection跟LightVector的內積決定最後呈現的顏色. 但是點無法
做到這點, 就不提了. 線雖然也可以定義法向量, 但是當你用線條包出一個範圍的時候, 中間內部的光影要從何算起
呢? 線條包圍起來的範圍是要填內還外呢? 怎麼分析? 這計算複雜度太高了! 三角形的好處就在這了! 不管是
OpenGL的右手系座標還是D3D的左手系座標, 有三個點就可以透過三個點的順序決定法向量朝哪!也可以輕鬆的內
插出範圍內的點法向量該為何! 例如:
A
BC
這三個點, 順序是A->B->C, 那麼當設定為順的時候, 法向量就是AB cross BC, 設定為逆的時候, 法向量就是CB
cross BA.
D3D跟OpenGL也都有API去設定現在是逆時鐘取法向量還是順時鐘取法向量, 如此一來model就不需要提供法向量
也可以做back face culling了. 當model有提供法向量的時候最常見的應用就式利用法向量來改變視覺效果, 例如
把一個原本看起來只有平面的東西變成看起來像是立體的, 這就是Bump Map的技巧(利用lighting).

5. shader問世之後, 雖然每個頂點都可以任意的用vertex program跟fragment program去configure路徑以及


顏色, 但是還是脫離不了上述的第一點. 三角形式能簡單定義內、外區域的形狀 可以輕易的進行著色.

此外, GF大提到的"註1:每一個三角形需要三個頂點,但每「兩個」三角形只需要四個頂點,所以GPU的三角形組

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25
Mobile01 [小惡魔的電腦教室] 4-2.顯示卡規格解說,附帶該死的3D圖學 Page 14 of 14

合速度是以每四個頂點形成兩個三角形來計算的"
其實得看情況, 應用程式得自己決定畫兩個三角形要用什麼方式, 如果說是個QUAD, 那麼兩個三角形下六個頂點或
者兩個三角形下四個頂點都可以, 前者是TRIANGLE_LIST mode, 後者是TRIANGLE_STRIP mode或者
TRIANGLE_FAN mode.
但如果兩個三角形只有一個共用點的時候, 就一定得下六個頂點下去囉! 所以說GPU三角形組合速度並非完全是以四
個定點形成兩個三角形算的, 只是通常GPU spec上定義的效能往往就是基於這種模式, 因為這種模式下節點共用,
資料量小, 可讓polygon rate衝很高, 再搭配index mode streaming減少資料流頻寬, polygon rate又可以衝更
高, 甚至會直接加上那統計出來的40%假設會被cull掉的polygon, 那數字又會更漂亮("有些"廠商就是這麼定義
polygon rate的唷)!

» 返回列表 » 載入圖片 » 回到頁首

第1頁 (共3頁) » Mobile01 首頁 » 個人電腦 » 顯示設備


» 前往頁面 1 , 2 , 3 , 下一頁

前往: 選擇討論群組

加入VIP 會員 | 站務回報 | 檔案下載 | 教育資源 | 常問問題集 | 服務條款 | 隱私權政策 | 合作與廣告 | 聯絡我們 | 工作機會 | 線上會員 | 活動與報導 | 輔助說明

Copyright © 2007 Yong Sheng Technology Co., Ltd. All rights reserved.

http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338 2008/9/25

Вам также может понравиться