Profiler and identifying assets that are time pigs...

horacefithers

New member
I've been running the profiler on my BC&SJ route. I'm seeing frame rates between 20fps and 100fps depending on where the camera is pointing and which scene elements are turned on. And this is with 2950x threadripper (barely breaking a sweat) and 2080 ti.

Is there a way to look at the profiler log and identify the top 5 or 10 assets that are render-time pigs?

Is there documentation on the messages spewed out by the profiler?

Horace Fithers
 
You might be more interested in the Performance Stats option you can click in the settings for Surveyor. This doesn't get logged, but it will give you worst performers in a data dump in real-time on the screen. The text is white though, making it difficult at times to see, but it does work. I've used it in the past to discover worst-performers. On my route I was working on at the time, the worst performer turned out to be the track I was using!

As far as documentation, you might be lucky with the Wiki, but I'm not so sure. Maybe Chris Bergmann will happen by. He's the lead developer and can give us all some insight into the different messages.
 
I've been running the profiler on my BC&SJ route. I'm seeing frame rates between 20fps and 100fps depending on where the camera is pointing and which scene elements are turned on. And this is with 2950x threadripper (barely breaking a sweat) and 2080 ti.

Others have answered you on the profiling options, and I don't have much to add to that beyond saying that there are lots of different ways to hurt performance so don't take any one number as gospel.

Regarding your hardware, the threadripper is certainly no slouch but it's not built for gaming and probably shouldn't be considered top-of-the-line for that purpose despite its otherwise impressive stats. (This isn't a dig at AMD, i use a 2990wx personally and love it.) Per-core performance can matter more than multi-core performance, once you pass about 4 cores total. That said, I'd be surprised if you're hitting a CPU bottleneck unless you've got a LOT going on. Assuming a decent CPU (which this one is) then it's much more likely to bottleneck the GPU. There are of course always exceptions - if you have some very hungry scripts running, or a lot of trains in motion, etc. or perhaps are hitting some pathological case elsewhere. The trainz profiler can help you detect this scenario.

If you're GPU-bound on a 2080ti, then you should be looking at the performance of the assets in the scene - ensuring that they make appropriate use of LOD, minimise draw calls, etc.

chris
 
Favourites for FPS issues would be a small number of SpeedTrees but not all and hi poly buildings without lod or things like high poly vehicles in large numbers again without lod, there is one car that will kill frame rates down to single figures just on it's own, I forget which one other than it was around a 1930 ish UK historical vehicle something like a Bentley or Rolls Royce, odd as there are similar high poly cars that don't have that effect so possibly a mesh issue of some kind. Just loading it in the Preview asset on its own dropped FPS below 20 a full board locked up at zero FPS.

Might be able to pick up problem assets from the log as in things that are taking several goes to load or showing some sort of error. Think the problem Speedtrees may come into that category.

It's easier picking up problems when starting from scratch when you can at least go back to what you have added in the days editing.
 
When we were doing the original TANE testing it seemed to me that the C & O Hinton Division route was the route most likely to bring a system to its knees. The route was full of trees but I cannot recall if they were much of the same asset or a variety.

Preview Asset is the tool I use for evaluating an asset since it provides quite a bit of info. Look for assets with minimal draw calls and especially at a distance or low LOD if used.

Any asset that doesn't have LOD and high poly counts, or has lots of draw calls is not going to get my pick. I keep coming across assets such as buildings with a different texture for most components. That's just ridiculous for an asset that is just background in a route.

You could also run a Errors and Warnings check since that throws up warnings about poly counts for the low poly mesh.
 
Yes Preview asset from a creating point of view is handy for checking Lod is working properly and setting up the distances so the changes are seamless, no excuse now for iffy lods in TRS19 with the lod-transition-distances tag ;o)

It's also good for checking assets are not going to kill frame rates. Things used a lot like trees can be tested using the performance option, good assets hardly dent the FPS for a board full of them, bad ones will kill frame rates or even zero them!
 
I remember during the T:ANE beta that there were some automobiles that caused T:ANE to cry with pain they caused. The vehicles were so polygon heavy that the program refused to load them. On a more reasonable level, however, I ran into an interesting issue with a section of a route I have used for years, but always had trouble with a huge pause in one particular spot as if TS12, T:ANE, and even TRS19 needed to take a big breath before it continued. Figuring it was a high-poly count asset, I spend a few hours deleting and replacing content, checking, and removing, starting from scratch, etc. During this process, I never touched the track or the level crossing in that particular section.

Just the other day, I was driving and sure enough the ride paused dramatically then continued on. Like always going back again in that area was fine as if the problem went away. In this particular spot, I had a slight kink at some junctions I put in for a crossover and siding and this time, and like always I made that mental note to fix it. This time, I decided to finally fix it after 10 years of driving the same route. The process required doing some major track work including ripping up the level crossings. When I tested the track again, the problem went away. Given that everything was the same except for the now removed level crossings, because I forgot to put it back, I've come to the conclusion this asset is garbage. The crossing was non-operational anyway and was only scenic with some crossbucks and a road-crossing asset. With that being the case, a simple reworking of the road a bit higher with JR's wooden crossing asset worked fine in the same spot.
 
Back
Top