Как правильнее создавать игровой цикл?
В вашей "архитектуре" "класс мира" осуществляет операции со всеми игровыми объектами. НАлицо нарушение принципов низкой связности и высокого сцепления.  Функционально игровой цикл  должен пнуть объекты игры или их менеджеры о том, что пора обновить свое состояние, максимум расчитав при этом дельту. Он не должен знать о графике,  звуке, физике и т.п. Решение - делегировать аспекты поведения отдельным объектам Можете прочитать здесь про систему компонентных сущностей в играх.
Вы всё правильно понимаете. Только от того, что Вы вынесите тик в отдельный метод ничего толком не измениться в плане производительности. Ну а по поводу количества объектов - чем их больше, тем выше требования к производительности. В средней стратегии с ИИ я где-то вычитал, что проблемы начинаются свыше 1000 объектов, но они в основном решаемые, тогда как где-то с 10000000 (десять миллионов) - нерешаемые. При этом имеются ввиду полноценные объекты, для которых надо искать путь и считать статистику.