在渲染的過程中,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?