Using ffglex::FFGLShader results in all uniforms being relocated every time a uniform is set (which is normally every frame). All implementations of ffglex::FFGLShader::Set( ... ) call glGetUniformLocation directly. This is extremely redundant.