瀏覽單個文章
giligula
Major Member
 

加入日期: Dec 2002
文章: 156
引用:
Originally posted by Artx1
當然不太可能大部分的指令都有這種本事, 不然ATi的工程師絕對會洛陽紙貴家家都來挖.
當初測試用的Shader如下:

ps_1_1

def c0, 0.5, 0.25, 0.3, 0.4
def c1, 0.1, 0.2, 0.3, 0.2

tex t0

mov r1, c1
mad r0, v0, c0, r1
mad r0, r0, c1, r0
mul r0, r0, t0

我覺得可能是第一個mov有被optimize過.
所以跑出來只有3.2 cycles; 相對的當初在NV25上頭跑就是很規規矩矩的2cycles.
GF4每管線2Shaders,所以4指令2cycles理所當然; R300是每管線1Shader, 所以理應跑4cycles, 所以可以看出有optimize.

這四個指令都是屬於 arithmetic
但一個程式碼屬於 scalar operation
第二個程式碼屬於 vector operation
R300 有一組平行的 scalar 和 vector pipe
能讓第一個和第二個可以同時執行
     
      
舊 2003-05-12, 05:40 PM #51
回應時引用此文章
giligula離線中