GLSL newbie

Started by
3 comments, last by shirsoft 18 years, 9 months ago
I have recently started GLSL and I have a few questions 1) I have some fragment shaders which do some image processing stuff and run at 45 fps. However when i use a pbuffer to do all the image processing instead of directly doing it on the framebuffer, my fps drops to 21 fps. 2) I have a 6800 GT which has a fillrate of 2900MPixels/sec. However my image processing program which essentially computes a 5 point gaussian average for many iterations, has fillrate of roughly 290MPixels/sec. Is it ok or is there something really wrong with my program 3) Is Cg much faster than GLSL 4) My GPU has 16 pipelines, is it possible to limit it to use only 4 so as to emulate an older GPU? 5) Are there ne manuals available for estimating the clock cycles of each gpu instructions Thanks a lot Shireesh
The longest battle is the battle within
Advertisement
1/ look into FBO its replaced pbuffers
2/ no idea
3/ no, though glsl operates in 32bit color as standard + i believe cg operates in 16bit as standard (thus big difference there, but both can use both16+32bit data types)
4/search for nvemulate
2) Im sure that the 2900MPixels/sec fillrate is with a "fragment pogram" that only consists of copying the interpolated colorvalue from the vertex program over to the framebuffer. The more instructions your fragment program consists of the more time it takes before next pixel/fragment can be computed, and thus the fillrate lowers.

5) Not that I know of, but look at NVShaderPerf. Given a shader it will show you what their compiler does with it and give out performance statistics aswell. The program outputs the sheaduled amount of cycles it should take, the amount (and what) instructions is used etc etc. It also estimates a pixel fillrate of your fragment programs.
Hi can ne one give me some performance comparision between FBO and PBuffers. I got some code from the net but there doesn't seem to be much of a difference.
The longest battle is the battle within
More GLSL woes

My program, which does some elementary image processing stuff, is totally fragment centric. I had to support some 16 bit *grayscale* images for that so i thought it was time to move to render to texture. This is the result

. 8bit rgb images run at 45 fps
. 8bit rgb images with RT run at 22 fps
. 16 bit gray images with RT run at 2 fps.

I am using the RenderTexture library from Mark Harris. Is this possible???
Please help.

Shireesh
The longest battle is the battle within

This topic is closed to new replies.

Advertisement