I've been going over the zbuf.c code, which is indeed very ancient, with a load of old optimizing and redundant code in use. Added more 'modern' Span support, which fills per face two arrays with the scanline information in it. That way you can zbuffer a quad in one run as well. It was also exactly that code that's copied all over in zbuf.c For now, to prevent issues for the release, the 'render a quad in 1 run' is only in use for the strand render. Tests reveil a speedup of about 33%. Will work on this recode later... which would also result in making zbuf.c threadsafe. And: bugfix #3398 When using the new 'render emitter' for particles, the orco array for particles was accidentally used by mesh too.