王者歸來性能翻番 GeForce6技術(shù)解析
任何學(xué)過計(jì)算機(jī)編程的朋友一定都非常熟悉編程中的流程圖,“if、else、then”這些都是大家非常熟悉的控制程序流程的關(guān)鍵字。但是在圖形編程當(dāng)中,控制程序的流程卻并不是那么方便。
但,這里我們的語氣要再轉(zhuǎn)折一次。過去圖形編程中的種種不便,在VertexShader 3.0的控制之下變得輕松了太多——它提供了全新的程序流程控制的能力,而現(xiàn)在GeForce 6系列GPU正是提供了對(duì)3.0版本的完全支持。

在VertexShader 3.0中,開發(fā)人員可以得到額外的分支選擇和各類循環(huán)的支持。開發(fā)者還能輕易的調(diào)用子程序,并能從子程序中獲取返回值。這些現(xiàn)在看似簡(jiǎn)單的程序功能,卻能大大地讓程序執(zhí)行效率顯著提高,特別是在配合了前面我們講到的“沒有長(zhǎng)度限制的程序體”以后,就能讓編寫圖形程序更加的自由,讓效率更加的提升。
最后,我們簡(jiǎn)要看一下新的程序流程包含的能力。
首先提供了一些新的指令,例如IFC/BREAKC、IF/BREAK/CALLNZ。這些指令大大豐富了程序開發(fā)者所擁有的功能,讓過去需要用很多指令才能實(shí)現(xiàn)的效果變得輕而易舉。
新版本渲染器提供一個(gè)統(tǒng)一的返回地址和地址寄存器的8級(jí)堆棧。這個(gè)堆棧能夠幫助實(shí)現(xiàn)分支以及子程序的調(diào)用,另外還能夠作為壓棧和彈出地址的寄存器用。這又大大方便了開發(fā)人員的工作應(yīng)用。
最后,VertexShader 3.0還提供了條件代碼的選擇。讓用戶掌握更多的流程權(quán)力。<
關(guān)注我們


