@nprofile1q... @nprofile1q... Yep! The problem with discard (and similarly, shader depth writes) is that it means the GPU does not know statically ahead of time whether the fragment shader should write depth or not, so it can no longer rely on that information for all the early depth rejection trickery that GPUs do for opaque surfaces based on their geometry alone. There's a lot more subtlety but basically it just turns off optimisations.