Part of the issue is the implementation of these technologies by the developer and the understanding of how to implement them with the caveats that come with them.
Speed Trees for example have been a blessing and a curse. They're pretty trees, great for parks and properties in towns, but look terrible in the forests. What we need is tangled branches more than perfect ones that even the shrubs and bushes don't provide. Having that kind of tree is more often found along road and track sides and along the edges of woodlands and marshes. We go instead for the old splines and billboards. While these used to work well in the past, they no longer do well in new versions because they look like cardboard cutouts. In the olden days, they were okay, but now they're worse with some being worse than others. Speed Trees too can and will eat up the resources. I've culled my own routes back quite a bit because I had too many trees in some locations due to poor performance. Heck, I live in a heavily forested region and like to model my area, but I need to thin out the forest a bit otherwise my machine stutters along.
Grass, meaning Turf-FX works but as a user we have to understand it's limits. Due to the draw distance, meaning the culling and LOD built-in, it's not worth the effort of covering every inch of a hill and valley, and in many instances the grass turns into blobby clumps in the distance before it cuts out completely. The other issue too is too much of a good thing. We don't need to cover a lot to have a good grass coverage. What we see while placing the grass down isn't what we have afterwards. In some places on a recent route, I went back and pulled up some grass because it was too thick.
The other issue here is understanding that this is a vertex-based procedural object that appears on the cross points of our infamous grid. This is why it's so difficult to control and keep within the lines just like our texturing. Knowing these details, allows me to plan ahead for those places where a texture and spline is a better alternative than fighting the big cursor and placing grass that neither fits nor looks right in that location.
I noticed too that with lots of Turf-FX grass, things can develop a bit of a micro stutter as the GPU struggles to keep up. This may have to do with my video card and system being older, soon to be replaced, but there is that inherent hit on the performance that gives me a headache. To get around these issues, I keep my Turf-FX to about 5 or 10 meters on either side of the tracks, add in some bushes and call it a day in part because the grass disappears in the distance so what difference does it make to have it in the distance.
In many ways, this is no different than using too many grass splines. I've opened up a few routes that brought my system to a crawl. The issue wasn't Turf-FX and was related to splines. There were so many grass splines covering the area that it caused my video card to have a fit. After deleting a ton of splines, with some areas having splines over splines, over splines, the frame rates increased substantially, and those splines I left looked plenty thick without the extra overhead.
Then there's PBR. This is cool technology and I have seen both good and bad PBR in both Trainz and in other games. In Trainz we have both good and bad textures. The earlier textures were a bit too oversized causing weird things to happen. What I don't like about PBR in either case is the crawling textures. That jellyfish guts as I'm apt to call it is really offensive and detracts from the overall effects we're looking for. What I also don't like is how we have shadows through the textures to the ground underneath. This makes them look like one of those ca. 1970s Urethane paperweights we used to make with seashells and other objects in them. Trainz is not alone here. I ran into that issue on a map in Arma3. I recognized the anomaly immediately when I saw the grass splines sitting on jellyfish guts.
I have come to the conclusion that PBR is fine on PBR-built routes right from scratch but retrofitting this on to an older route doesn't go as well as we'd think, and this leads to an issue that really annoys me. PBR does not mix well with other technologies either which we're bumping into all the time. There's nothing more disconcerting than finding an old route with now updated textures. The updated textures being once regular textures that have turned into PBR'd ones now burying the tracks, roads, and causing clear spots under things with jelly and urethane paperweights. This is more of a logistics and content issue, and it really needs to be addressed by the community and N3V. If an old texture has been updated to PBR, then the old texture should remain and a new PBR version uploaded. This will prevent textures from being replaced unknowingly by a user because they've updated textures in Content Manager when a new version is available.