Vertex Shaders 1.1 faster than 2.0 ???

Started by
6 comments, last by Muhammad Haggag 19 years, 7 months ago
I compiled using the DX 9.0c Sample Multianimation.fx and used the skin.vsh I tried both Skinning11 and Skinning20 when I draw 20 tinys on the screen with 1.1 enabled I get 153fps but when I change it to 2.0 it drops to 123fps does anyone know why? I use the default palette of 26 for skinning11 and 37 for skinning20. If anyone might know why please let me know. Also I am using HLSL.
Advertisement
Both nVidia and ATI say to use the lower shader version that does what you need, which implies, yes, 1.1 is faster. I always thought that was mainly for pixel shaders (9 bit fixed point is easier than 16, 24 or 32 bit floating point), but may apply to both.
Thanks what are the benifits of using 2.0 over 1.1?
More power. VS and PS 2.0 both offer more functionality than 1.1. Also you can use more instructions. That power comes with a price though. If you think about it there are more transistors needed to handle all the extra operations. Therefore it takes longer for the signal to pass through the GPU.
-dizzyGame Institute InternPlease rate me. :)
From what I know (I am not very good at shaders), 2.0 will support more instructions. Also, in 2.0, you can sample 2 textures at a time, unlike 1.1, which means less code but also less speed. I am sure there is more to it though. Basically, each new version allows new and more instructions. This is often unneccesary for small projects, but for large projects, it is very useful.
Sean Henley [C++ Tutor]Rensselaer Polytechnic Institute
Quote:Original post by powerwav
Thanks what are the benifits of using 2.0 over 1.1?

Take a look at the reference section of the SDK docs. There are many instructions in vs_2_0 that are not available in vs_1_1. Also, things like static branching, and just the sheer number of instructions allowed are more in vs_2_0.

But as was stated earlier, if the effect you want to do can be done with vs_1_1, then do it with vs_1_1.

neneboricua
Thanks to everyone for the info.
You should use 1.1 shaders whenever possible for many reasons:
1) As already said, they're faster
2) You support more hardware (e.g. GeForce3,4 and Radeon 8500/9000/9100/9200)
3) They have a very fast software fallback path - You can support cards older than those in (2) with some effort (fallback to the FFP for the pixel pipe)

This topic is closed to new replies.

Advertisement