Лишний if? Нет.
Собственно ничего сильно не меняется. Производительность сжирают громоздкие переборы и обработки сложных вычислений или больших объемов данных.
Сильнее всего на производительность влияет необходимость перебирать каждый кадр все камни, для проверки на столкновение с каждым. Но от этого уже никуда не деться. (Да и камней вряд ли будет ОЧЕНЬ много.
)
Все трехмерные функции типа "коллизий" тоже этим занимаются.