Quad (DX9), no spreads for "enabled" pin?

I don’t know if this is a bug or a known limitation / non-feature, but it seems like the enabled pin just grabs the first slice of a spread. I’ve attached a simple example.

quadbug.v4p (5.6 kB)

this is actually a performance-feature. enabling quads slicewise would degrade performance for large spreadcounts. you can disable effects slicewise, if that helps.

using UniformScale to scale the unused quads to zero will render them quite disabled.

OK,that makes sense. What would you say is the best solution for effectively disabling a quad performance wise? moving it out of view, scaling (as mentioned by oschatz) or something else?

would be great if someone sets up a little test patch for testing this and posting the results.

setting transparency or brightness to zero should be one of the slowest options

the last option mentioned by oschatz (transparency/brightness method) is also one, which can’t be used when you have a depthbuffer (and actually use it in that draw operation). the brightness method only works with blend mode add.

you can’t use the scale method when drawing with another fill mode than solid (wireframe & point).
however in most cases you will draw in solid fill mode, and for these cases this method should be the one, which is most easy to patch - and there shouldn’t be perceivable performance differences to the “draw somewhere else” method.

Here’s a little patch with some of the above mentioned methods. I can’t tell a huge difference between them with debug mode on- is there a better way to judge performance than that?

Connect the transform to test higher numbers of quads.

quadtest.v4p (24.0 kB)