Могу, но очень и очень схематично - это лучше принять как есть...
1.Каждый даже самый простой блок FLProg отнимает mcs (иногда ms) . Если все платы выполняются без условий, то и все блоки соответственно выполняются в каждом цикле loop(). Практически нет блоков которые выполняются меньше mcs - 10,20, 100 и более mcs.
Например вроде простая функция analogRead на AVR занимает >130mcs. И их этих небольших но никчемных с точки зрения проекта(например ни так часто можно опрашивать ADC (7 кГц вряд-ли нужно - а если нужно, то другие технические средства привлекаются) очень быстро набегает ОДНА МИЛЛИСЕКУНДА - а это уже ограничивает частоту вызова 1кГц.
2. Самое простое решение - используйте диспетчер и только свободные задачи - сразу получите ощутимый результат.
3.Если Вы используете блоки ecoins, то они оптимизированы по времени и использование свободных задач в основном решает проблему. Условно каждая плата в большом проекте будет вызываться 1 раз в 100-500mcs.
4.Есть заведомо медленные операции (сильно проявляется на контроллерах AVR) - это строковые операции, их лучше выделять в медленные задачи. Совершенно неожиданно оказалась очень медленными операциями записи переменных float в регистры ModBus - так программного оказалось реализовано. Их тоже лучще в медленные (или быстрые) записывать.
5.В действительности чаще всего вызываются "свободные" задачи - термин пускай не смущает, он создан ecoins, долго искали название, остановились на этом. В операционных системах есть термин фоновая задача, он у нас тоже используется, но это не то.
6.Для оптимизации быстродействия есть есть встроенный инструмент - вывод на LCD HD44780 (можно и на Nextion) - библиотеки ecoins для этих устройств очень быстрые и "не тормозят".
==================
Простой ВЫВОД - ВСЕГДА вставляйте во ВСЕ проекты диспетчер задач и все платы выполняете по условиям. На простых проектах начинайте со СВОБОДНЫХ задач, во многих случаях этого бывает достаточно.