To control rendering orders of symbols, you could use the "symbol levels"-feature to give every geometry a own Z-dimension. If you want it dynamically because of complex situation like bridges over bridges you need more control. The "feature rendering order" enables you to give every feature a own Z-dimension using a field or expression. So far so good, but what if I use more then one symbol level per symbol like streets with borders? The screenshot below shows the situation:
The order of the "main-symbol" (color of the road) is correct, but the borders are all on the same level. That is not the expected result. How could I solve that without using the static "symbol level"-feature?