Closed baumfalk closed 9 years ago
The best approach might be to look, for each road, at the lane with the highest speed, and take that as the speed that is used to calculate the time on that road. I feel like this is a reasonable assumption, since i) either it is possible to easily change lanes to the lane with the fastest speed or ii) it is so crowded that it is not possible, but then usually the speed difference doesn't matter that much anyway.
Currently, Action.GetTime calculates the remaining time left using the average time for roads on the route. This doesn't always work properly. For example, when one lane is completely filled with slow cars, but the next lane is empty, the average time for the free lane is very low, but the average time for the road is very high. This causes agents to sometimes make strange decisions.