测试GPU的材质填充率
體渲染最重要的一個(gè)優(yōu)化就是減少GPU的采樣工作。測試GPU的材質(zhì)填充率能夠指導(dǎo)我們的工作。要知道為什么GPU在800*600的環(huán)境中只能達(dá)到12FPS么?這就要看GPU每秒鐘采樣的次數(shù)啦。
我寫了一個(gè)簡單的OSG程序,用來測試采樣次數(shù),點(diǎn)擊這里可以下載
程序原理很簡單,分幾步:創(chuàng)建窗口->生成和設(shè)置紋理->載入SHADER->渲染。具體如何做要看程序里面啦,這里就不再貼出來了。
直接說最后的測試的結(jié)果了。我的8800GTS(G80)官方資料說材質(zhì)填充率能夠達(dá)到24Billion/Sec,官方資料給的核心頻率500Mhz,著色器頻率1200Mhz,顯存800Mhz。我將我的顯卡也按照這個(gè)數(shù)據(jù)進(jìn)行了降頻。
測試環(huán)境:窗口800*600,3D貼圖256*256*256,數(shù)據(jù)是LUMINACE_ALPHA,每個(gè)像素2BYTE。每個(gè)像素的Shader采樣3D貼圖512次。
最后得到測試FPS為11.98幀。算算:800*600*512*11.98=2,944,204,800,因?yàn)槭?D紋理所以每個(gè)采樣實(shí)際要有8次采樣工作,所以最終的材質(zhì)填充率:23,553,638,400,和24Billion/Sec很接近了。
換用2D貼圖可以得到相似的結(jié)果,只是FPS會(huì)快一倍。原因是三線性采樣的工作量是二線性采樣的兩倍,很顯然FPS會(huì)提升一倍。
那么怎么去優(yōu)化呢?下面做一些測試:
最終的結(jié)果很明顯。3D貼圖的采樣已經(jīng)成了整個(gè)系統(tǒng)的瓶頸,已經(jīng)讓顯卡的貼圖單元達(dá)到了極限。Shader處理器由于計(jì)算量很小,所以還很空閑。由于采樣過濾的繁忙,貼圖單元也不需要很大的顯存帶寬,所以顯存的影響幾乎沒有。
優(yōu)化的措施:只能盡可能的減少采樣次數(shù),或者找更快的卡。目前看來只有G92的9800GTX或者8800GTS的采樣率能夠達(dá)到 43.2Billion/Sec以上,GTX280官方資料也只能達(dá)到48.2Billion/Sec,GTX260 36.9Billion/Sec。9800GX2能夠達(dá)到76.8Billion/Sec,就是不知道實(shí)際SLI的性能能不能滿足需要了。看來如何選擇適 合體渲染的卡已經(jīng)有一個(gè)理論和實(shí)際的指導(dǎo)了。
總結(jié)
以上是生活随笔為你收集整理的测试GPU的材质填充率的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java入门1.2.3—一个老鸟的Jav
- 下一篇: Navisworks Api Tool