Strange thing


I have a GLSL shader that handles up to 8 lights (all the usual types). All lights are switchable between per vertex and per fragment. Of course, the latter is quite a bit slower.

What I cannot explain is this:

At the moment I use only one spotlight with maybe not more than 80000 triangles to be rendered. My PC is a Q6600 quad core and opengl stuff is done by the 4th core. GPU is 8800 GT. Switching from per vertex to per fragment and vice versa only requires setting a uniform variable. Otherwise the CPU does the same thing.

But if I switch the light to per fragment, according to Task Manager, the load on the 4th CPU core is increased by at least 20%. Switching the light back to per vertex decreases it by the same 20%.

Why does the CPU have to work more? Theoretically I only increased the load on the GPU.

I would appreciate if someone had an explanation.

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