Reply To: Please improve performance of double track

Home Forums General Discussion Please improve performance of double track Reply To: Please improve performance of double track


@isidoro No, that isn’t what I was doing (or intending). My plan was to have each of the two tracks running trains in opposite directions. All of the trains on one line were confined to a single track, much like cars travelling on a two-way road.

Thinking like a passenger, I would not want to get on a train that travels all the way around a loop, just to get to the next station “upstream”. That’s why I run trains in the opposite direction too. All of the London Underground trains do that. As do most, if not all, subway systems. And bus routes. And tram tracks. Passengers usually need to make the journey in both directions. I’m not certain if TF simulates this accurately, but seeing passengers waiting at a stop wanting to make a commute from workplace to home, it looks possible. The game might let them use alternative means for each journey, and not require both to use the same mode of transport. I suspect so, because I rarely see even usage of the contra-rotating lines. One is often as little as 1/2 or 2/3 of the other. But I digress.

So, I typically have full dual track, and do not need to have switches. I often have some, though, because once the first few stations are built and linked, I will set a train or two running, shuttling back and forth along the incomplete loop. I don’t remove those switches, and things got messy much later once both loops were completed, and each line was running five trains. I built a track segment for a new line, not even physically connected to the first ones, and TF decided to swop those two lines over, onto each other’s track. Ten trains now tried to maneouvre onto the other track, using the few bits of switchtrack I had left in the early build. Total chaos and logjam. Much has been written about this random line switching in other threads/posts, and it was here that I first read about “one-way signals”. They are a lifesaver. I have not had a single problem since converting the two-way signals that I had expected to do that job, into one way signals. The lines remain on the tracks they were assigned to, and trains no longer attempt to use the wrong track.

When I said “the train can pass at the far end” I meant that the train can pass by the one-way signal, not a slower train. When a train finds two alternative tracks provided by a switch, then a one-way signal either says “welcome” or “no entry”.

A two way signal (the default setting) says “welcome” in both directions, but divides up that track into two segments, splitting it at the signal. A train can use that track from either direction, so long as another train is not presently occupying it. It sounds confusing, but it isn’t once you get your head around it. If you have a two way signal at each end of a track segment, then with unfortunate timing, you can get trains entering the switches at both ends, seeing the segment up to the signal as clear, but then jamming as each one tries to use the segment between the signals. They will face off against each other, neither one winning. One of them will have to reverse (requiring manual user intervention) to resolve it. I found it easier to quit and restart from an earlier save than fix my line switching logjam, and sorted out my one way signals instead.

But I also know, that trains do not have to stick to the track indicated by the coloured line, for them to achieve the route. An early section of dual track loop with no switches, and a reciprocating line running one train, had the train running on the track not indicated by the line. It stopped at stations, and carried passengers regardless. So, trains can choose alternative paths to the ones indicated by the line, which makes your trains refusing to attempt an overtake very interesting indeed. I’d have all sorts of questions about the speed difference between the trains, and relative distances, and how close the chasing train was before it had a chance to pick the alternative track. There is also the dreaded issue of whether the alternative track was suitable for use. Like, a missing sliver of electrification that prevented an electric train from using it. (I’ve hit that nasty “feature” before too – my trains started reversing around the entire loop to get to the next station, jamming against the other trains still advancing normally. Such joy…. lol)


If you want to have high speed trains passing slow ones, then it gets difficult, but not impossible. You would need dual track heading in the same direction. And I suspect it needs to be quite a decent length, depending on the speed difference. The less the difference, the longer the track needed.

Unlike “clever” signals, whereby a slow train could be held at a signal while the fast one caught up and went by, TF only has a “first come, first served” signal system. Whichever train gets first call, gets to go. So the fast train has to catch and pass the slow train in time for the next track segment.

The slower train sets off down one of the tracks, letting the faster train take the other track and attempt to overtake it. The doubled track has to be long enough, and the preceding signals and stations and single track segments short enough, that the fast train could get close enough behind to have a go at passing. It will always wait for the slower train to fully clear the segment of single track it is on, before the faster train can enter it.

If the dual track is long enough, it should catch and pass the slow train, and enter the next single track segment first. But it is not clear at what point the slow train scans ahead for the next clear segment. Trains slow down and stop in time time for signals, so I think they “know” whether the next segment ahead is clear or not. In which case, you would need to add extra signals to break the track up into multiple segments. Otherwise, as soon as the slow train enters the dual track, it already checks ahead and sees the next segment at the joining together switch is clear, and “pre-books” its place. Even if the fast train overhauls it, the joining switch is already commandeered by the slow train, and the fast train will stop and wait. If you add signals just before the switch, then each train merely pre-books the segment between the signal and the switch. So if the fast train can pass its signal first, it will get first call on the segment beyond the signal-switch segment, and happily prebook the switch segment before the slow train gets there. Overtake made, mission complete.

It’s all about speed. The dual track has to be long enough to let the fast train overhaul and reach the next signal first. The preceding segments have to be short enough (you can add multiple signals every train length to permit this if need be) to let the fast train get close to the back of the slow train. If the fast train is held back a long way because of the long length of the segment approaching the switch, it will have to make up too much ground to get past. If the slow train ever gets to the switch before the fast train, the overtake is a bust. Your situation sounded like the game never even tried to use the other track, so it’s unclear if this can ever be made to work automatically.

Waypoints can certainly help, especially if the fast train gets to use a high speed track. Consider forcing the slow train onto a slow track, and let the fast train use a high speed track. So if you have upgraded the track to high speed, add a parallel slow speed track, and use waypoints to steer the slow train onto that. You will have to double up the line definition, because all trains using that line will have to pass the waypoint, so if both fast and slow trains are on that line, they will both have to pass the waypoint and use the same track, ignoring the passing track. A second waypoint, and a duplicate line except for the waypoint, is the way to resolve that. But that feels…. messy. And will not fix the fundamental “fast enough to overtake” speed problem, if the segments are not short/long enough.

I’m thinking the fast train / slow train overtake is sensible only when you have slow goods trains sharing some part of a high speed passenger track, and want to avoid holding up the passenger train while the goods train is passing through. Otherwise, it makes much more sense to have a fleet of the same trains running on any one line.

While I did have a temporary situation where I ran newer, faster trains on the same lines as older, slower ones, I swopped all of them for one type of train as soon as possible. That way, they all run at similar speeds, and spread themselves out reasonably well, with minimal signals. Signals only become necessary when you want to run more trains than stations, to provide more track segments for the trains to fit on. And sometimes, if you have one or two unusually long runs between stations, it can help to break up that long run into similar lengths as the typical station-to-station distance. Signals are an easy way to do that. Switchtrack is another, whether or not the switches go anywhere. Stations break it up too, but they are not the right tool for that job. From a quick test, waypoints do NOT divide up a track segment – they merely force a line to use that track segment. Trains do NOT wait at a waypoint.
The simple rule is, that trains will not enter the next track segment ahead, unless the path is clear for them to do so. And trains have foreknowledge about the state of the next segment (whether it is blocked by another train, or clear). So, they know whether to stop or carry on when they reach it. You might have to provide a “dummy” segment between a signal and the switchtrack at the end of an overtaking lane, to make it more likely that the fast train get past the slow one. Merely having a dual track with switchtrack at each end impedes the fast train overtaking the slow one. Because the uncertain point at which the trains pre-book the next available segment almost certainly precedes where you’d place a signal.

I’d screengrab an example, but my screengrabber merely gets a black screen instead of a jpg. And no, this isn’t a steam version, so F12 doesn’t work. I got mine from GOG.