Gameres上翻譯的是一篇同名的文章,作者”Nick Brettell“,是根據(jù)Hoppe的文章寫的。那篇文章使用Vertex Buffer,而沒有使用Vertex Texture,在性能上,如果使用支持Shader Model 3.0的顯卡,和原始算法有很大區(qū)別。而且那篇文章翻譯的不完整。
我當(dāng)然做過MAT乘法。問題的關(guān)鍵在于設(shè)計(jì)正確地處理數(shù)據(jù)生成流程。大多數(shù)人使用SSE匯編產(chǎn)生的代碼長度會(huì)比編譯器自動(dòng)產(chǎn)生的長的多。
MAT,VEC之類最簡單的運(yùn)算,因?yàn)樘嗳藘?yōu)化過,所以那些匯編的精簡程度很高,但是除了這些基礎(chǔ)運(yùn)算有現(xiàn)成的算法,那些其他的算法恐怕就沒多少現(xiàn)成高效的SSE可以使用了。再說現(xiàn)在3D的MAT,VEC的計(jì)算,主流是推送到ShaderLanguage來完成的,基本不用自己編程計(jì)算。
VS的instrinct才會(huì)產(chǎn)生真正的垃圾代碼,具體去看Intel的文章,那上面很詳細(xì)的講了如何優(yōu)化C++數(shù)據(jù)流程。
re: switch——case語句 如展 2007-01-05 11:41
case在break之前,是可以隨便寫多少語句的,無論有沒有花括號。