這些天在寫場景管理的一些內容以及渲染自己導出的模型的渲染器...
首先先說兩個導致我花了1天才解決的兩個弱智BUG...望大家以后注意....
1. 如果使用固定管線渲染...千萬千萬記得在創建D3DMATERIAL9對象的時候ZeroMemory一下.....不然哪天你沒有設置鏡面光或者環境光的系數的時候就啥都看不到了....
2.由于粗心大意...在SHADER傳參的時候將pEffect->SetTexture("g_Tex",...);寫成了pEffect->SetTextrue("g_tex",...),結果悲劇就發生了....
這兩天在測試模型渲染器的效率....遇到一些問題....還望各位大牛指點一下...
先來比較一下這兩張圖:


首先說一下,當把靜態模型加到1000個以后,也就是所謂的百萬個三角形后,其實對渲染的效率影響并不是很大...
可見現在GPU對于頂點的處理基本不是問題(不要太變態的情況下)...順便提一句,我的是7300GS顯卡
在渲染過程中用的是VS&PS2.0
但是大家可以看到第一張圖中幀數比第二張圖中的幀數少了8幀左右
先忽略掉那多出來的20個1024個面,我認為不是關鍵...
這兩次渲染中我只是將模型的縮放比例從0.4變為了0.2,僅此而已...
不影響場景管理...因為我的場景管理還沒有加動態的對象...呵呵...
那為什么效率出現了差別...
比較直觀的看就是說第一張圖中像素對后臺緩沖區的填充率更高...而第二個更低...
那換句話說依然瓶頸是在于像素著色...但是具體在于像素著色的哪個方面呢,望高手解答一下...
再給一張圖作為參考

其實這張圖中渲染了200次骨骼動畫模型
這次我把所有的渲染的位置都放在了同一個點...
幀數居然只有8了...如果說上面兩張圖的比較結果是像素填充后臺緩沖區的填充率過高...
那么這張圖又如何來解釋呢....ZBUFFER的問題么???
同時...在場景管理中....想優化一下攝像機平截頭體和四叉樹節點的判斷位置關系的代碼...
望各位大牛提供一點思路...