When we made our current test map, one of the first things we noticed was that while it looked good, its performance was far below what we were expecting. Even on our high end machines, it could have the frames per second drop in to the single digits. Not something acceptable, so we went over it with a fine toothed comb to identify, isolate, and repair the problem.
To identify, first you have to take things out, to see when the performance improves. By hand, we removed every single component by hand to see what would happen. Nothing changed, no matter what we did. At one point the test map was reduced to nothing but the roads and the Speedtree trees, which left us with only two options. So, of course we removed the road, leaving us a map of just trees, floating in mid-air. No luck, still slow.
So, we reversed it all, and removed the trees while leaving everything else. Instantly, the map was running how it should be. Now, we have three kinds of trees on our map, Alaskan Pine, White Oak and Douglas Fir. So, we restored each type of tree in-kind. Alaskan Pine, no problem. White Oak, aok.
Then we re-enabled the Douglas Fir. Instant slideshow. We turned off all other trees but the Douglas Fir, to see if it was a case of the raw numbers of trees rather than the type, no go. We made a new test map featuring a single solitary Douglas Fir in the middle of it, ran slower than a modern FPS on an Amiga 1200. In other words, there was a problem with the Douglas Fir model that was making it difficult to render.
Turned out that somehow during the creation process for the Fir, one of the settings was off with the result being that the Douglas Fir, in addition to being ideal for being decorated in anticipation of celebrating whatever winter holiday your family enjoys, was sporting a huge, and I mean gigantic, mathematical error within the mesh. Nothing the human eye could see, but hidden within the polygons of that conifer was a glitch that drove video cards insane.
While the Douglas Fir is being fixed, we substituted it temporarily for a generic tree model found in the Epic library, and the map now is performing admirably.
See for yourself how it only takes a tree to make all the difference in the world.
Written by - Nathaniel 'Doctor Tyche' Downes
Discuss the update here: http://cityoftitans.com/forum/discuss-how-tree-can-make-all-difference-map-optimization