From #openttdcoop wiki
A standard prio gives priority to trains on the mainline and makes trains on the sideline wait. In some joins, especially at BBHs, a prio may build up long queues waiting to enter the mainline. The usual solution to this it to extend the mainline.
The two-way prio is an intermediate solution that can increase the overall throughput of a join. The basic idea is that when a waiting train gets a chance to enter the line, every train behind it should also be allowed to enter. The mechanism is similar to a real-life traffic light. It releases all traffic in one direction and then switches to the other direction and releases all traffic from there (although, the Two-way prio does not have a timeout, like traffic lights).
A standard prio that is highly loaded tends to generate a pattern of trains with just one of the trains from the joining line between each block of trains from the joined line, with a gap between each join. The two-way prio allows all waiting trains to enter, so there will be overall fewer gaps.
How to build
Add a small TL1 train on a segment that crosses the two lines. The TL1 train should be blocked by a standard prio in both direction by using a two-way entry signal.
A two-way prio does not need a long prio on the tracks. It just needs to be long enough that trains waiting will enter the prio before the logic train has a chance to switch.
A place to use this is in BBHs where neither of the MLs is more major than the other. A simple join will leave huge gaps, and a standard prio may build big queues even with good balancing.
- When the load ratio between the lines is low, e.g. 1:20, the Two-way prio may not be as effective, as it leaves a gap between trains when it switches. This gap is bigger than on a standard prio and pre-accelerated prio's.
- Releases entire queues in both directions at once without breaking the queue.
- This usually give tight packing as the entire queue is release at once.
- Adapts well to the traffic load. On light traffic, the logic train is usually blocked in the prio before a single train can reach it, leaving the path open.
- Handles load ratios close to 1:1 very well, and cases when the load on the lines is very dynamic.