Jump to content
  • Advertisement
Sign in to follow this  
??????? ?????

How does shader performance relate to complexity and task count?

This topic is 2307 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

For instance,without any shaders passing,I can render models made of thousands of polys at 800 fps and maybe of millions at 200-300 FPS,but if I use a simple shader of any kind on a simple mesh,it causes a noticeable FPS drop(from 1000 to 700).Then if I use a more complex shader,like one that calculates multiple lights,the framerate drops to 500,so it's not a linear decrease,but is there a way to exactly compare shader performances without having to compile the whole solution?Like maybe an HSLS -> ASM converter that would allow me to see the instruction counts?

Share this post


Link to post
Share on other sites
Advertisement
Framerate is not linear, so you shouldn't use it to determine performance impact. Going from 1000 to 700 fps is equivalent to adding ~0.4ms of frame time, while going from 700 to 500fps is equivalent to adding ~0.6ms of frame time.

AMD has GPU ShaderAnalayzer which can convert your HLSL to actual hardware-specific microcode (not D3D shader assembly, which is just an intermediate format) and can give you cycle counts for the shader. But overall performance at runtime is still going to vary based on a lot of things, such as how many pixels you shade or what else is currently executing on the GPU. Edited by MJP

Share this post


Link to post
Share on other sites

Framerate is not linear, so you shouldn't use it to determine performance impact. Going from 1000 to 700 fps is equivalent to adding ~0.4ms of frame time, while going from 700 to 500fps is equivalent to adding ~0.6ms of frame time.

AMD has GPU ShaderAnalayzer which can convert your HLSL to actual hardware-specific microcode (not D3D shader assembly, which is just an intermediate format) and can give you cycle counts for the shader. But overall performance at runtime is still going to vary based on a lot of things, such as how many pixels you shade or what else is currently executing on the GPU.


Exactly what I was looking for,thanks.I was planning to use a parallax normal mapping on every object in my game,so I was curious at how heavy the technique actually is.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!