Вторым параметром всегда указывается условие. Но язык не запрещает писать туда любые выражения, в том числе изменяющие i, хотя это считается плохим стилем потому что приводит к неочевидному прочтению кода.
Кстати, вряд ли скорость выполнения цикла зависит от направления движения. Скорее всего дело в том, что именно написано в теле цикла.