[Shocked] Hey its just a slider: FPS-10 because of moving a slider...

Hi,

please have a short test:

  1. In the default scene, press N
  2. open “display”, and turn multitexture to GLSL, then change to textured mode
  3. press ALT+A
  4. pay attention to the fps-count in the upper left corner of the 3D-view
  5. move any material slider and watch how the fps drop drastically (the sliders lag!)

Come on…
This cant be…
Say this is just my computer, please!
Any setting I got wrong?

thanks in advance,
tillonius3002

I’m not getting any of that, fps is 24 (as set in the render settings). If i set the maximum to 60fps, it will intermittently jump to 54-ish when using the slider but it’s barely noticeable. I’m using 2.62 official release. What’s your graphics card?

2.62 official release. When I first start dragging the slider the FPS goes red for maybe a frame (not long enough to see what it drops to) but then I can slide the value around and it stays on 24. I would not notice a lag if I was not staring at the counter and if it didn’t change to red when it was under 24.

I would expect a framerate drop if the viewport shading mode is set to textured or solid w/ the “Textured solid” box checked in “display” (GLSL mode). However, I’m not really sure why there is a framerate drop when the viewport shading mode is set to wireframe in GLSL. That does indicate an area of future “optimization”.

I’m testing this on ancient hardware (>8 yrs old). I think you guys with newer hardware will not see as drastic of a drop as I am. I’m only getting ~ 12fps with a plane, a cube, and a light. If I change spec or diff sliders while animating the viewport (ALT+A), framerate drops to about 7 fps until I stop futzing with the slider.

Like I said… this still happens in wireframe mode where material setting should have nil effect on framerate.

If I move the slider from the left to the right it jumps in like 5 steps, if I move not too fast. It jumps to 13 fps (peak). I got a cycles ready (at least it can do that :D) nVidia GT540m. I have to mention, that I run Linux Mint 12.

Ah okay, you got me, I forgot it [sorry]. I thought that GLSL made no sense for wireframe, so that probably is why I didnt tell you to change to textured mode. My fault :frowning:

The reason there is a slowdown is because every time you change a material property in GLSL mode the vertex and fragment shaders are recompiled.
Since I haven’t spent much time with blenders drawing code I cannot tell you how easy it would be to optimize this.

blender is slow :frowning:

Having worked quite a lot with shaders in OpenGL, the idea that they’re recompiled on a simple parameter change is absolutely horrifying.

It’s trivial and fast to update data sent to shaders, it sounds like blenders drawing code needs help.

It’s not that simple unfortunately.
I’d suggest looking at the shadergen code in blenders gpu module to understand why shader recreation happens.