Для оптимизации на машинах разных мощностей и разных скоростей интернета нужно делать так:
К примеру : выполняем действие, и делее в цикле ждем, выполнилось это действие или нет. Если выполнилось, прерываем цикл и шагаем дальше. Если же на действие нет реакции длительное время, то пробуем повторить.
Циклы ожидания - наше все. А обычные статические задержки - это не всегда надежно в таких случаях.