Investigative findings on pausing during game play.

JCitron

Trainzing since 12-2003
We all see this while in Surveyor and Driver. We've move along and selecting items in Surveyor, or driving along in Driver, come to junctions, trackmarks, and stations in Driver, only to have a short pause that lasts maybe a second or two. This annoying pause is something that really detracts from the game play. In TS12 SP1 HF4, the problem has gotten worse. This isn't so much the instant load, batch install it seems, of assets on blank baseboards which is annoying enough, but is more related to the game play its self.

The findings on this were simple and it boils down to writing to the database as the action changes, and can be seen. Using view database process console window, I observed Taddaemon in operation. While in Surveyor as we select a menu, the program pauses as it writes to the database and updates a transaction command duration. This pause can take up to 2-3 seconds in Surveyor and makes selecting menus awkward. This can also occur while placing objects, or painting a surface where the latter operation can cause spurious mouse moves as the system stutters intermittently.

Driver showed similar actions. As the AI approaches a station, the write database kicks in with a flutter of drive activity, and the simulation pauses just for a second. This maybe due to the simulator updating the train/AI driver location. During my observations, I have seen this also occur while approaching trackmarks, junctions, and other actions that require AI position updates and script interaction.

The actions as a whole make sense. The program has to know where the AI is located in relation to each other within the route. The information needs to be updated on the menus while performing actions in Surveyor. The problem I find is this is all done through the slowest interfaces on both the computer system and the program its self. The hardware, in this case, is the slowest interface on a computer system being the hard drive whether this is an SSD or old-fashioned platter drive moving at 7200 RPM. This will add to the lag but it was never as bad as it is now. The biggest problem appears to be that the program is utilizing TrainzUtil and TADD to perform the operation. TU is notoriously slow - as Andi06 and other content creators about it, and the information is not cached long enough prior to the write. If the data is cached and dumped too soon, then the operations are as though there is no cache at all, and this appears to be the case. Perhaps the developers could look into this for the upcoming T:ANE, and I along with other PC members will surely be looking at this aspect in detail.

John
 
John, I don't want to sound like I'm coming in here and saying you are not having pauses, because everyone experiences them. Sure there is a pause when selecting tabs in surveyor at least once since all of the content available to your Trainz install is populating the list. I would think this is to be expected. This pause can become somewhat longer too if the items are brand new or have not been validated completely yet, but that should only happen once. I don't think I have ever had a pause while placing an object or performing an action - again not to say you don't.

As for the driver pausing, I think you may be assuming too many things at once there. I have run on occasion up to 25 trains at once and never noticed any performance changes from them approaching a trackmark/trigger/industry

The biggest problem appears to be that the program is utilizing TrainzUtil and TADD to perform the operation.


What operation do you mean exactly? I can't say I agree with you on this and it sounds a lot like pure conjecture. TADD should improve performance by not having the main simulation do the work of performing database operations. It clears up a lot of problems we had back in the 04-06 etc days. I dont think TrainzUtil is used by the program for anything at all.
 
I notice this alot too John, especially when a train nears a crossing. Also its just as you say, everything your saying makes complete sense, and I know how his feels. It is extremely annoying.
 
John, I don't want to sound like I'm coming in here and saying you are not having pauses, because everyone experiences them. Sure there is a pause when selecting tabs in surveyor at least once since all of the content available to your Trainz install is populating the list. I would think this is to be expected. This pause can become somewhat longer too if the items are brand new or have not been validated completely yet, but that should only happen once. I don't think I have ever had a pause while placing an object or performing an action - again not to say you don't.

As for the driver pausing, I think you may be assuming too many things at once there. I have run on occasion up to 25 trains at once and never noticed any performance changes from them approaching a trackmark/trigger/industry



What operation do you mean exactly? I can't say I agree with you on this and it sounds a lot like pure conjecture. TADD should improve performance by not having the main simulation do the work of performing database operations. It clears up a lot of problems we had back in the 04-06 etc days. I dont think TrainzUtil is used by the program for anything at all.[/COLOR]

From memory, TrainzUtil is used for both asset validation and texture conversion, and is often seen at the same time as certain command IDs in TADDaemon.

Shane
 
I agree with John that there are pauses when running in Driver mode, particularly when a loco is about to couple to a consist, but at other times as well. My build is 49922, and this report is yet another reason why I am reluctant to install SP1. In Surveyor I also sometimes find that the screen freezes for 1-2 seconds or more when slowly moving about in the current scene.

My CPU is a Dual-core 2.0GHz with 2GB of memory and a 1GB MSI R6570 graphics card. Generally, Trainz runs smoothly but these pauses are irritating.

Trevor
 
From memory, TrainzUtil is used for both asset validation and texture conversion, and is often seen at the same time as certain command IDs in TADDaemon.

And that should not be happening in driver, which is why I asked what operations. I can't see this being used in Driver. In my opinion this thread will not get anywhere. We can all agree there are pauses at certain times, so posting that you agree with John does nothing to help the situation.
 
Last edited:
And that should not be happening in driver, which is why I asked what operations. I can't see this being used in Driver. In my opinion this thread will not get anywhere. We can all agree there are pauses at certain times, so posting that you agree with John does nothing to help the situation.

Sorry for not getting back sooner. I've been off taking a Microsoft PowerShell Jumpstart class and taking a break from Trainz for a bit.

For driving... Simply driving multiple trains and watching the AI do their thing. Drive along, come to a station... Pause...; Drive along come to a trackmark... Pause....; Drive along come to another station... Pause...
I've seen this also when watching other AI drivers do their thing, and like you I've had up to 25 drivers loaded and doing their thing.

I wonder if it is something to do with TADD handling the scripts for the assets if this is possible. The program understandably needs to track what the AI is doing, but by using the slowest interface in the program to do it, only makes matters worse. It is definitely worse after SP1.

There is something definitely wrong here and quite discouraging, however, I am glad I am not the only one seeing this so I'm not as crazy as I maybe after all. :)

In case you are wondering, I've seen this on both a fresh install under Windows 8.1 Update 1, on my tower, and on my old Alienware 17Mx running an older install under Windows 7 SP1.

John
 
I have noticed this behaviour too John. In TS12SP1HF4 it is particularly noticeable a few seconds after a session starts. I normally like to run AI only sessions. Sessions can take ages (~40-50 seconds) to load before the scene is revealed. When the session starts, the first consist moves toward the first junction or track mark and then there is a pause. The engine sounds continue but nothing moves for about 5 secs. After that everything is ok but if you follow a consist with a list of drive via track mark, the consist will pause briefly at each track mark. This happens on even a small track-only flat layout (about 4 baseboards) with no scenery to load. I have noticed the pauses in surveyor mode but I don't mind as I understand that databases are loading etc but at run-time I expect smooth operation especially when the session can take such a long time to load anyway.
 
Back
Top