1。 減少代數運算.. 如果可以自己展開的先展開利於編譯器優化
例如:普通的球面帖圖投射常常表示為
p = sqrt(rx2 + ry2 + (rz + 1)2)
這可以展開為:
p = sqrt(rx2 + ry2 + rz2 + 2rz + 1)
2.不要把向量值放入含有多個內插值的標量部件中
tangent = float4(tangentvec, viewvec.x)
binormal = float4(binormalvec, viewvec.y)
normal = float4(normalvec, viewvec.z)
或許可以修改為 targent2 = viewvec;
3。不要編寫過於通用的庫函式 很好理解 比如c標準的alloc 就比windows的 heapalloc慢很多
4。 合併常量 比如乙個uniform的顏色g_overbrightcolor * 2.0 需要在ps裡面乘以2, 在cpu端坐乘法會快很多
因為ps端需要做百萬級的乘法
優化shader程式的一些tips
在寫shader的時候,其實一些寫法對於其執行影響非常大,而且由於gpu和cpu在架構上的不同,的優化思想也不一樣,最近一直在寫幾個shader,為了效能問題,查閱了很多資料,把一些tips總結下來。首先要樹立幾個思想 1.gpu是simd的架構,即單指令多資料流架構,即在gpu上同時執行n個資料和...
Coders at Work一些摘錄
乙個哥們摘錄了,我再摘錄他的。這些高手們都不喜歡c 都非常崇尚熱情,乙個程式設計師沒有熱情,那真的很難達到高手級別的。很推崇表達能力,書寫能力,思維清晰很重要 但是總會有例外啊,陳景潤 應聘時候多談實際,而不是很懸的智力和數學測試,讓他寫 帶來引以為豪的 如果他兩眼放光的給你講他過去的專案經歷,那起...
直接摘錄一些文字
1.人也是這樣,有的人生來就具備成功的素質。2.一直以來,靠堅強和自信所以快樂又積極地活著,堅強和自信就是人生的頂樑之柱,真不敢想象如果那一天我失去他們了生活會怎樣。常常告訴自己要敢於面對所有的困難,常常安慰自己很多困難過去後再回首就覺得特別的有價值。前面的路尚未明了,命運依舊難卜,但自信依舊在。仔...