Theoretical performance: Shader operations per sec, or Pixel + Texture fill rate (Which one is more important)?

evolucion8

Platinum Member
Jun 17, 2005
2,867
3
81
Today we're in a shader era and textures are loosing ground, after all is far more easy and realistic to simulate material with Pixel Shader than using a texture, textures are important to "paint" the polygons with details, but both are very important, I guess that the 3:1 ratio used on the Radeon X1K hardware was the very sweet spot for it, 8800GTX is far more balanced, and the Radeon HD is just too underpowered in the pixel+texture fillrate and that's not gonna help it. For todays standards the best balance should be something like 32 pixel+texel pipelines, 32 ROP's and 96 pixel shaders, but in DX10 is different, the same as stated before, but with more Stream Processors, pretty much like the 8800 series of cards, a monster of card can be created combining the pixel-texel power and efficiency of the 8800GTX and the phenomenal shader output and high amount of those VLIW stream processors of the HD 2900XT.
 

Cookie Monster

Diamond Member
May 7, 2005
5,161
32
86
There are couple of things to be addressed.

Firstly the more complex effects/shaders etc etc you are using in a game, it requires lots and lots of fillrate. The thing is, you cannot not have enough fillrate. So fillrate (pixel/tex) are equally important. Fillrate is also important for situations where SSAA is used.

Secondly, shader operations doesn't mean much in a real world sense. Because those are theoretical numbers and GPUs hardly reach those numbers (G80 is an exception though). Firstly the HD2900XT has vec5 shaders or in other words 5 ALUs in a group, to a total of 64 vec5 shaders or "groups" (cant find a easier term). This means that the total number of ALUs on a HD2900 is 320 which is clearly much larger than what the 8800GTX has. However because they are tied in a group, one Vec5 shader is used up even though it only needs to use one of its ALUs to perform. Simply put, this makes R600 not very efficient when it comes to utilizing its massive shader performance in most apps. In contrast G80 has 128 scalar ALUs (dual issue), meaning it can always sustain the level of utilization really high.

Trying to go further might kill more brain cells but simply put you cant judge a card by paper specs. Theres far too many variables to say ones better at that than the other. I mean R600 on paper looks damn good, but the reality is that its not so good, or its because the G80s are even better.

8800GTX is around 15~20%(maybe even 30% but thats mostly due to immature drivers as it even fails to perform past the X1950XTX) faster than the HD2900XT in 3d apps.

Note - that the 8800GTS is around the performance of the HD2900XT. Both are similar in performance where they trade blows across games.
And also i still believe TMUs are as important as Pixel shaders. Thats because games like unreal3, QW ET will be utilizing even larger texture maps. Theres also AF performance because as you can see R600 takes not only a big hit from AA but also substantial performance from enabling AF (5% or more unlike G80s which are literally 1~2% hit).

Texture will still be important in the future.
 

evolucion8

Platinum Member
Jun 17, 2005
2,867
3
81
Originally posted by: Cookie Monster
There are couple of things to be addressed.

Firstly the more complex effects/shaders etc etc you are using in a game, it requires lots and lots of fillrate. The thing is, you cannot not have enough fillrate. So fillrate (pixel/tex) are equally important. Fillrate is also important for situations where SSAA is used.

Secondly, shader operations doesn't mean much in a real world sense. Because those are theoretical numbers and GPUs hardly reach those numbers (G80 is an exception though). Firstly the HD2900XT has vec5 shaders or in other words 5 ALUs in a group, to a total of 64 vec5 shaders or "groups" (cant find a easier term). This means that the total number of ALUs on a HD2900 is 320 which is clearly much larger than what the 8800GTX has. However because they are tied in a group, one Vec5 shader is used up even though it only needs to use one of its ALUs to perform. Simply put, this makes R600 not very efficient when it comes to utilizing its massive shader performance in most apps. In contrast G80 has 128 scalar ALUs (dual issue), meaning it can always sustain the level of utilization really high.

Trying to go further might kill more brain cells but simply put you cant judge a card by paper specs. Theres far too many variables to say ones better at that than the other. I mean R600 on paper looks damn good, but the reality is that its not so good, or its because the G80s are even better.

8800GTX is around 15~20%(maybe even 30% but thats mostly due to immature drivers as it even fails to perform past the X1950XTX) faster than the HD2900XT in 3d apps.

Note - that the 8800GTS is around the performance of the HD2900XT. Both are similar in performance where they trade blows across games.
And also i still believe TMUs are as important as Pixel shaders. Thats because games like unreal3, QW ET will be utilizing even larger texture maps. Theres also AF performance because as you can see R600 takes not only a big hit from AA but also substantial performance from enabling AF (5% or more unlike G80s which are literally 1~2% hit).

Texture will still be important in the future.

But lots of what type of fillrate?? Shader fillrate? Texture fillrate? pixel fillrate? An example of this, the Radeon X1950XT vs GeForce 7900GTX, http://www.gpureview.com/show_...hp?card1=442&card2=383 The ATi and nVidia card has an identical core speed and identical pixel fillrate, but the ATi card has a texture fillrate deficit of over 5 Giga Pixel per second against the nVidia card and the ATi card has twice the shader fillrate and still able to outperform the nVidia card. That means that both are important, but if you want to get the best performance, then you have to create a GPU with more shader power than texture power like the X1K series of cards. But efficience is something that is a must. The Radeon HD 2900XT has twice the shader power over the 8800 Ultra, but the 8800 Ultra has almost twice the texture power over the Radeon HD, so under normal circumstances, it would look just like the war between the X1950XT and 7900GTX but it doesn't. The Radeon HD 2900XT needs optimizations in games to perform better, pretty sure that in heavy shader games the Radeon card will perform better, but only when optimized cause it's quite hard to keep busy all units (Pentium 4 anyone?) needs more ROP's, needs higher texture fillrate, lacks of Multi Sample Anti Aliasing hardware units, the card itself needs a redesign. Looks like Radeon 9700PRO vs FX 5800, where the simple and efficient design beated the more complex but inneficient design, the only difference here is that the Radeon HD design is not flawed with low registers like the FX.
 

zephyrprime

Diamond Member
Feb 18, 2001
7,512
2
81
It depends on the workload. Obviously, if the game requires more texture ops than shader ops, then the shader will be more important and vice versa.

By it's nature, shader workload is more difficult. So that's why there's so much emphasis on shaders these days.

The 2900 is sorta weird. Even though I would say that shaders are more important, the 2900 us just too light on texture units.
 

Cookie Monster

Diamond Member
May 7, 2005
5,161
32
86
You do realise the FX series were still decent in DX8 providing over twice the performance of the geforce4 ti 4800? or 4600. Its just that the R300 did even better especially with AA/AF enabled. DX9.. well NV30 failed miserably there.

Like i said theres alot of variables that hinder R600s performance or bottleneck the architecture in someway or another. One thing is the AA resolve on ROPs. This seriously hinders R600s performance by 25~30%. Then theres the not so normal AF performance drop (5~10% or higher in some instances) which points toward ATi's 16TMU design with the R600. The shader core itself needs to be optimised for every single app to take advantage of its high shader performance etc etc because of the way R600 was designed. This is often the focal argument of Vec vs Scalar ALUs. Also to note that the R600 also lacks in pixel/texel fillrate compared to the competition by some gap.

Fillrate i meant the pixel/texel. This is only true however IF theres enough horse power on the GPU to actually take advantage of it.

I did say Texture is important.. but i didn't imply that pixel shaders weren't important. Like you said, the more balanced architecture seems to be the way to go right now. Although the industry seems to be focusing more on the pixel shader side of things, textures right now aren't just going be ignored nor suddenly lose all importance.

R600 was a gamble. With a 4:1 (ALU/TEX) ratio, its heavily geared for shader intensive apps. But to cripple such core with 16 TMUs resulting in performance not so good in non shader heavy apps, enabling AF and games that use large textures or in other words texture heavy. For one i havent seen R600's 64 vec5 ALus or 320 ALUs actually flex its muscle and gain huge leads over its competition.

If youve seen the benchmarks from rightmark3d 2.0 you will know what i mean.

edit - i truly believe R600 couldbe lived up to "most" the hype if it didn't have some of the drawbacks its currently facing. It sure could have been much more competitve.