There are so many things which can impact framerates and lag. On my relatively busy Gloucester Terminal Electric route, for example, I get decent frame rates out in the country, but get a bit of lag in the busier sections. The framerates, however, are still mostly in the 20s-60 fps (I run without the vsync cap). After gleaning out a bunch of assets, replacing some really, old ones with poor LOD, and thinning out my Speed Trees, I've improved the performance in these areas tremendously.
One of the things I noticed, mostly in driver, was facing in some directions things were worse than others. I did some sleuthing around and using a bit of triangulation, because the error occurred while looking at that direction from other directions as well, I narrowed down the culprit to a building. The bulding was a Sketch-up import, although it fit the scene perfectly, it was a poly-sink and sucked up the bandwidth. I replaced the building with something else, and the problem went away for that section. I did this repeatedly throughout the route, and now I have decent performance.
Overall in Trainz, there's a statement which has been said before, "There can be too much of a good thing". What this means is we can have the most detailed scenery ever created that will look absolutely gorgeous in Surveyor, but when we get into Driver, we end up with a slide show. Sure Surveyor loads up everything fine, but the Driver requires constant feeding of the data plus there are additional tasks going on at the same time. Each and every signal, crossing, locomotive, interactive station/industry, and anything else that's scripted is being monitored in the background. Having a lot of scenery items, on top of everything else going on at the same time, will kill a route cold.
There are ways around this kerflufle by limiting details to those areas which warrant attention such as nearest the station or other places where they will be seen from the driver. For those areas outside the station, for example, there's no need to place the high-polygon static vehicles, people, and other small details.
Speaking of vehicles, it pays to check these assets when downloaded carefully. In Content Manager you can do this by using the asset preview. Rick-click then click on Open... then asset preview. What this does is bring up an active window which shows the actual asset as it would appear if placed in-game. You can see the LOD and other details including the number of polygons. Some people, unknowingly, uploaded some automobiles that have 125K polygons or more with zero LOD!
With lots of assets like this, although they look nice, they compete for resources that can be better used by the consists themselves.