但如果顯卡的能力不夠,那就麻煩了,CPU讓它一秒鍾畫三幅,顯卡拚死隻能畫一幅圖,這樣的結果就是卡頓。
解決的辦法就是換一個能力強的,或者降低一下畫麵的難度,以匹配顯卡的能力。
但顯卡到底是怎麼畫圖呢?
這就涉及到芯片了。
華芯科技的第一代顯卡,王岸然沒有采用9102年的GPU流處理器的統一渲染架構,那玩意用在現在,那是太先進了。
沒有必要,他選擇的是一代神卡gf2采用的“頂點渲染架構。”
什麼叫頂點渲染架構?看看在該渲染架構下GPU是如何畫一幅圖形的。
CPU向顯卡發出作一個立方體的指令。
在頂點渲染架構下,先由該架構中的頂點著色器,將圖形分成若幹個小三角形,由三角形組成幾何骨架。
這就涉及到一個抗鋸齒的問題,因為顯卡的工作是不畫線的,線的存在,完全是不同材質顏色三角形之間的自然分界,而貼圖三角形在分辨率低的情況下,自然有鋸齒感。
解決的辦法,就是在相鄰材質的貼圖三角形,由大三角形細化成小三角形,雖然可以提升顯示效果,但也大大加重顯卡的負擔。
幾何框架形成了,下一步就是在著色管線中的作色器進行塗色,這就像畫漫畫,在用鉛筆勾出線條後,用水彩筆,將手上的黑白線條畫,變成彩色圖像。
這一道工序完成了,基本上圖像也出來了,但還不夠。
3d圖像的追求是要求逼真,盡量和現實貼近。
但怎麼和現實貼近呢,這就涉及到一個紋理處理單元。
什麼叫紋理處理單元,就是現實中選取混凝土牆,瀝青道路,青草、河流等典型圖塊,預先以電子信息的形式,存到顯卡的紋理緩存中。
需要使用的時候,紋理處理單元直接從緩存中調取,然後貼到目標三角形上。
經過這一番處理,一個電腦生成的圖形全部完成,顯卡再按照CPU的要求,傳到顯示器上,接著再處理下一幅圖形。
原理很簡單,誰都能明白,但真的要實現確需要大費周折。
王岸然將整個項目分為五個組。
第一個組負責接口設計,在pcl接口標準下,識別CPU發出的指令,接收CPU通過總線傳輸過來的數據,並將數據初步加工成各管線識別的數據,放入顯存。
第二個組負責頂點管線設計單元,將接口傳輸過來的數據,生成幾何框架,並負責將生成的數據傳輸到頂點著色單元。
第三個組負責頂點著色單元,第四個組負責紋理處理單元。
而最為重要的五組,控製單元的設計,從各處理管線設計的個數,物理布局,各單元之間的通信,各單元調用內存的算法,顯卡資源的調配等。
王岸然不敢假手他人,自己獨自負責,當然為了培養新人的角度,王岸然選配了三個副手。
科院電子自動化研究生徐浩,科院數學係季小青,清大微電子研究生杜鵬。