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 文章編號 : 3759338 文章日期 : 2007-10-05 09:57 文章積分 : 81 文章人氣 : 21,230 個人積分 : 2,992
»1
對於想深入了解GPU規格的人,我必須很遺憾的說,GPU規格跟基本3D圖學綁在一起,要真的了解像素管線、頂點
» 小惡魔廣編特輯 不景氣 錢要放在哪 錢要放在哪裡才安心? 裡才安心 景氣反轉難 以置信! 上 班族如何善 用薪水,進而 穩定獲利?
處理單元等等那些鬼東西的意義,就一定得對3D繪圖流程有基本的概念。這篇我會用最淺顯的語言來講,但許多部 分會跳過不講,3D高手們請見諒,看完如果有問題再用討論串來聊吧,我會盡我所能的回答。 know more...
3D繪圖流程
要賺就要省大的-省 就要省大的 省夠夠精選套 夠夠精選套 餐!
兩個小時畫一張),打電動的人才不會覺得延遲,所以娛樂用的GPU都會有很多取巧。而拆解到最簡單,3D繪圖可
買印表機小 老闆最care 的是什麼 呢?問十個 應該有九個 都會回答是 耗材成本要低、機器要便宜、功 能越多越好...
分成「建立骨架」、「貼圖」和「輸出畫面」三個步驟。
想隨時看大銀幕電影嗎 想隨時看大銀幕電影嗎?
現在顯示卡主要就是玩3D遊戲,而遊戲畫面是屬於3D「即時繪圖」(Realtime Rendering)的領域,它不像工業 設計、動畫電影那樣需要超高解析度和精確度,遊戲的3D畫面只要快,一秒至少要畫出30張(動畫電影可能是一
1.建立骨架 由於一些我也不太確定的歷史原因,現在3D繪圖是以三角形或「多邊形」(Polygon)為基礎來建構物體的外型, 遊戲裡「所有的」物體都是由一片片三角形堆疊出來的,而每個三角形都是由三個頂點(Vertex)構成,比如附圖 的那個人頭骨架,仔細看就會發現它是由數萬個三角形組合而成。這也是為什麼早期遊戲的物體都讓人覺得稜稜角 角的,因為需要大量的三角形才能組成近似圓弧狀的物體,若顯示卡不夠力就沒辦法處理大量多邊形,只用少量的 多邊形建構外型,就會出現稜稜角角的物件。
http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338
Epson私の Fun映机最 新機種 EMPDM1;可攜 式設計搭配天花板投影套件,讓 每個天花板都是你的大銀幕! 玩色達人狂歡3C派對 玩色達人狂歡 派對 奢華金、沉 穩黑、低調 銀、甜美 粉、純真 白,顏色決 定你的性 格,你是屬於甚麼Tone調的玩 色達人,立即去看看~
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口水戰打的最猛 烈的一塊。
口米口米目艮 文章編號 : 3759448 文章日期 : 2007-10-05 10:09
»2
比較不了解的是~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 文章編號 : 3759735 文章日期 : 2007-10-05 10:41 個人積分 : 2,992
»3
口米口米目艮 wrote: 比較不了解的是~NV...(恕刪)
嗯,因為架構不同,NVIDIA的600MHz可能算高,但ATI的600MHz就可能是普通而已,不能因為說都是 600MHz,就認為效能差不多~~: ),當然也不能說ATI時脈高就比較好,因為晶片設計時都有他們各自瞄準的時 脈,架構也會因此做適應。
咩咩羊 咩咩羊 文章編號 : 3760200 文章日期 : 2007-10-05 11:31 個人積分 : 18
»4
又增長一些硬體知識啦! 很精采的文章! 加分是一定要的,五分獻上! 大家看到好文,長知識之外,請別忘記給分唷!
MoreForce 無圖示
文章編號 : 3760512 文章日期 : 2007-10-05 12:03 個人積分 : 3
»5
國內能寫出九淺一深......呃...如此淺顯易懂的人大概只有你了吧!這篇文章可說是精華啊!感謝G.F.大大的文章解 說。
忘了補充一句 , 現在記憶體頻寬愈大的卡 , 好像GPU效能都不怎麼樣...哈哈哈...ATI會不會殺掉我...
G.F 文章編號 : 3760809 文章日期 : 2007-10-05 12:45 個人積分 : 2,992
»6
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 文章編號 : 3761243 文章日期 : 2007-10-05 13:38 個人積分 : 2,992
»8
murafrank wrote: 對於這段補充一下:"...(恕刪)
murafrank說的對!GPU為了加快時程,大多是用軟體產生GPU的線路,CPU則慢慢手工設計,不過還是有特例, NVIDIA GeForce 8系列中的Shader單元就是先用軟體弄好之後,再用手工調整,花了四年的時間才做出來,不 過成效大家都看的到,省電、時脈高、效能也很好!
我想ATI下一代產品應該也會跟進,或許不是整顆晶片都用人工慢慢調整,但最重要的Shader單元可能會開始比照 CPU的方式。
supertaiwan 文章編號 : 3762056 文章日期 : 2007-10-05 15:21
»9
G.F wrote: 對於想深入了解GPU...(恕刪)
加分是一定要的,五分獻上
weipig926 文章編號 : 3763358 文章日期 : 2007-10-05 18:00 個人積分 : 21
http://www.mobile01.com/topicdetail.php?f=298&t=414913&last=3759338
» 10
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
貍貓小胖 文章編號 : 3764732 文章日期 : 2007-10-05 21:53
» 12
之所以會用三角形來作3D骨架 是因為一個三角形能決定一個平面嗎?
加油吧!GF大 我以後買電腦的建議 就靠你了~~
G.F 文章編號 : 3765276 文章日期 : 2007-10-05 22:57 個人積分 : 2,992
» 13
貍貓小胖 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 文章編號 : 3766842 文章日期 : 2007-10-06 02:19
» 15
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