The way to go when spawning thousands of static mesh?

I’m making an RTS game where there will be thousands of “tree” static meshes. What is the best way to achieve this?

Spawning 1000 actor?
Spawning 1 actor and creating every tree as it’s components?
Using niagra?
Using MASS?

The trees will not gonna effect navigation and does not need to have any collision either. Only 3d render.

Personally I don’t tried neither niagra nor MASS but the other 2 options results in almost same fps. What is the most performant way to do this?

Niagara is really bad for that many objects.

Only way is to make quite low poly trees (Without transparent parts), make like 3-5 variants of them, make them all use single and same material. Instance out of it. But keep it same mat everywhere.

Then use instanced static meshes to spawn