Render time longer with instanced meshes

I wonder if anyone can help with this…

I have a scene which renders fine ( 120 fps ). I then add an avenue of 60 trees, which I did as foliage, obviously. ( dynamic lighting ).

My fps drops to 50 fps ( when I’m looking through the trees ).

I tried replacing them with 60 static meshes and my frame rate went up! ( I got about 65 fps ).

From this I figured ( maybe incorrectly ) that I was GPU bound, as now the CPU was doing more to get the scene ready for the GPU.

Meanwhile, back with the instanced meshes, in the GPU profiler, the main two chunks of usage were ‘base pass’ and ‘shadow depths’. So I re-made the foliage with no shadows ( which looks **** BTW ).

The frame rate stayed the same and the GPU profiler just showed more time spent on ‘base pass’.

WTF!?

Surely drawing 60 trees as foliage should take almost no hit at all, as it’s just one draw call…

Any ideas?..

Thank you for any help :-/

------------------------------ EDIT -----------------------------------------------
Just got the same result with an empty level and the scots pine from the kite demo… The frame rate is 20 fps better with 60 separate static meshes…

I think there is a hidden cost with the Procedural Foliage Actor, it’s never performed as well as I expected, compared to hand-painted foliage. It’s difficult to fully compare unless you match the exact amount of placements, scale, screen size, etc, so I haven’t bothered to find out if it’s the case.

However, when your Base Pass is the most expensive thing and you just added foliage, it’s safe to assume it’s the overdraw since that’s done in the pixel shader by default. Shadows are expensive on foliage as well, since there are usually a lot of tris in large foliage meshes making the shadow mesh more expensive.

@RoseGoldSlugs: thanks for your answer. Having time to think about it, I was wondering if it was some kind of ‘threshold’ thing. IE, don’t bother using foliage unless you have > 1000 meshes ( say ), because of the cost of ‘getting it off the ground’.