Hallo werauchimmer,
der Loop() wird im Prinzip so schnell hintereinander ausgeführt, wie der dahinterliegende Code benötigt.
Wie du schon korrekt erkannt hast, würde also ein Funktionszweig der sehr lange benötigt, eine andere Funktion in diesem Zeitraum "sperren".
Um das zu umgehen, sollten die Methoden möglichst schlank programmiert werden und ohne Verzögerungstimer auskommen. Soll etwas künstlich verlangsamt werden, so speichere die aktuelle Zeit, laufe weiter den Loop durch und rufe die Methode erst auf wenn eine bestimmte Anzahl von Ticks vergangen ist.
Genauso mit Schleifen. Bevor du ein for(int i=0; i<99999;i++) nutzt, lagere den Methodenaufruf in den Loop aus und erstelle eine globale Variable für den Zähler.
Das sind so die beiden Sachen auf die ich beim Design achten würde. Der Rest kommt von allein ![]()