在渲染的過程中,CPU和顯卡各自起到了什麼角色?

為何遊戲的渲染可以完全依靠顯卡實時渲染?工業設計中的照片基本靠CPU處理?


這個了解不多 貌似3DsMax等過程預覽靠顯卡,最後渲染靠CPU,但是有些渲染器也用GPU渲染。


渲染 有兩種 時時渲染,和最終渲染

顯卡的工作,換句話說 顯卡的職責,顯卡最初的設計理論,當初為什麼要設計,發明顯卡 是為了解決3D時時加速的。 在當時的應用就是遊戲,和3D應用。顯卡的工作就是多邊形生成和紋理貼圖。

在3DMAX中間 4個透視窗口中我們建立模型是依靠顯卡GPU進行運算的,時時計算3D加速 支持OPENGL或者D3D 這些都是時時渲染加速,不支持複雜的光照運算。

之所以顯卡不支持複雜光照運算是由於顯卡的構造而決定了。

我舉個例子 畫筆和圖案印章 。同樣畫圖 很顯然圖案印章的效率明顯比畫筆快,壓以下一個圖案,但是印章的局限就是圖案簡單,也就是說它只能畫出GPU本身所支持的算髮,也就是幾個簡單的加減乘除,和函數計算(GPU只繼承了這些演算法) GPU就是圖案印章。

畫筆 我不說你也應該知道它就是CPU了 雖然畫畫速度慢 但是他想畫什麼就能畫什麼,只要軟體支持。因為CPU的指令集非常豐富,能進行軟體所支持的任何計算,無論是加減乘除還是複雜的函數運算,根號運算都支持。 而這個就是渲染最終效果圖所需要的。

即使現在的遊戲,光影都是由CPU負責的, 顯卡的工作就是多邊形生成 和文理貼圖, 不具備光影處理能力。 現在的遊戲中 光影都是假光影,物體的反射都是材質貼圖,也就是說鏡子所反射的不是周圍的物體 而是製作了一個周圍物體的貼圖給了鏡子。

從D3D9以後 顯卡能夠多一點的分擔CPU的負擔 集成的更多的指令集和函數流水線,但是他畢竟是用來加速時時3D的 所以流處理器的個數才是最重要的。1個流處理器就是一個CPU 只不過指令集和功能比CPU少的可憐。

無論是專業顯卡還是中等的圖形工作站 顯卡都不參與效果圖渲染。

即使以後顯卡能夠渲染效果圖了,我們也不會使用顯卡渲染 因為CPU體積比顯卡小多了,大型伺服器 超級計算機 圖形渲染集群都是成千上萬的CPU組成的 一般一部伺服器 安裝了500 600個CPU,如果換成顯卡,那體積不得了。而且用途也不廣泛,CPU是萬能的。

專業顯卡和遊戲顯卡 本身沒有區別,也就是說顯卡硬體GPU沒有區別。區別在於驅動。在GPU中間有一個OPENGL硬體開關,出廠的時候就已經設定好的,NV顯卡無法修改ATI顯卡可以破解。 遊戲顯卡注重速度,而不注重質量,只對D3D支持和基礎OPENGL 不支持專業OPENGL

專業顯卡注重質量,抗鋸齒模式豐富,並且支持線框抗鋸齒。遊戲中,只有物體邊緣有矩尺,而專業做圖,由於線筐多,一個屏幕複雜的要幾萬條線條,所以抗矩尺很重要

和遊戲顯卡不同 專業顯卡對於3D模型的內部顯示做優化,遊戲中的汽車,只顯示汽車外表,而專業作圖不僅顯示外表 還要顯示汽車內部結構。顯示的內容都是不一樣的


推薦閱讀:

在蘇聯時期蘇聯人用什麼計算機?
雙線性變換法的雙線性指的是什麼?
以現有計算機技術,如果造一台可有具有所有人腦思維功能的計算機,那麼這台計算機會佔地多大面積?
A B C 三個人相互射擊, A B C 命中率分別為 30% 50% 100% ,每輪每個人可以任選一個人射擊或者什麼也不做,開槍是同時的;請問,每個人都為了保證自己存活率更高的情況下,射擊的情況以及每個人的存活概率?
Master是否應該去找software engineer的工作而不是data scientist?

TAG:中央處理器CPU | 計算機 | 圖形圖像 | 圖形處理器GPU | 渲染 | 計算機科學 |