Poor glsl performance

I am new to shaders and am having problems with performance. I am finding that even when using the simplest of shaders (i.e. replacing OpenGL standard functionality) the framerate of my app takes a significant hit. Should I not see the same perfomance from this?

My app renders large textures (up to 2k x 2k and many of them) on to high resolution screens so my fill requirements are high. However, all I really was looking for was the same level of performance with shaders as without.

Am I missing something?


The shader performance also depends on the graphics card and the GLSL compiler in the driver. In most cases I think that the compiler will not be able to make an asembler code that is as fast as the fixed function pipeline.
But gernerally using Shader is slower than using fixed function. Escpecially when using GeForce FX graphics card because their shader core is partially seperated from the fixed function pipeline.

My card is 5950 Ultra, but I have seen exactly the same issue from both a 6600 and a Realizm 200, although probably less defined.
I have read that the 6xxx series of nVidia cards have higher performance shader support - does this just mean higher or as high as it would be without the use of shaders?


I’m curious, could you post the shader?

Life doesn’t get any easier than with this shader (or does it)…

// Vertex
void main( void )
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_Position = ftransform();
gl_FrontColor = gl_Color;

// Fragment
uniform sampler2D tex;

void main( void )
// Get the fragment colour for the modulated texture
vec4 colour = texture2D(tex, gl_TexCoord[0].st);
gl_FragColor = colour * gl_Color;

the biggest framedrop is cause glsl operates at 32bit throughout as standard, fixed function is lower (gffx cards esp have problems at 32bit vs say 16, not so apparent on gf6x cards apparently)

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.