performance issues with trees

System specifications:

AMD FX-8350 8-core @ 4.2 Ghz
2 x 8 GB of DDR3 @ 2400 Mhz
2 x 1 TB Western Digital Black, 7200 RPM, 32MB Cache, SATA 3.0Gb/s
2 x EVGA GTX 1080 FTW, 8 GB VRAM @ 2 Ghz
Blender 2.79
Windows 10 Enterprise

I am working on a scene that currently has 4.7 million vertices. The Outliner has a delay when you click on objects, before it highlights. The Viewport is also laggy. I have another scene with 3.6 million vertices and it runs perfectly. I don’t think it’s really the number of vertices that is the problem. Perhaps the issue is the size? The scene that doesn’t lag is the interior of an apartment and the one that does lag is outside of a mansion, with a ground plane stretching out to the horizon.

First I did 40 unique trees with leaves and 4 levels of branch splitting (using the included Sapling plugin). I tried 3 levels but the trees were basically transparent. I wrote a script to generate the 40 trees because it’s a little slow and I rather click and forget. It maxed out my 16GB of RAM and started paging and crashed. I couldn’t even open the blend file up anymore. I had to create a new blend file and “append” everything except the trees. I then did one tree, converted the curve to mesh, joined the leaves and branches and then used the particle hair system to create multiple instances. This used a lot less RAM but the Viewport and Outliner are VERY laggy. There is plenty of CPU and RAM left. Not sure what the issue is.

I read that Blender uses single threads most of the time and the FX-8350 doesn’t have great single thread performance. Maybe it’s that.

I have a new scene I just did, and it’s at 9 million vertices with no lag. Not sure why trees cause so much lag even when there is less vertices/faces in the scene.

Switching from Material view to Solid view helps alot. On my 10 mil vertice scene it’s fast on Solid view. Sometimes a Material preview won’t load and it gets laggy. Minutes pass and it never generates an updated Material preview. I have to close blender and reopen it to get it to stop lagging. Maybe 2.8 and EEVEE will solve these issues unintentionally.