@Aleks_1975, попробуйте взять сегодняшнюю версию, возможно я понял в чем причина вот такого поведения и устранил ее. По этой же причине были замирания и подергивания на ESP32 на свежих версиях ядра 2.0.6 и 2.0.9. Поправил, проверил - вроде исчезли подергивания.
Для интересующихся - причина была в следующем: привыкнув к более-менее стабильной работе ядра 2.7.4 для ESP8266 и 1.0.6 для ESP32 я полагал, что все в нем и библиотеке FastLED работает стабильно и никаких особо сбоев нет. То есть - работаем по таймеру эффекта и таймеру бегущей строки. В цикле loop проверяем, если таймер эффекта или строки сработал - нужно сформировать новый кадр и вывести его на матрицу. Так и делаем. Если время для формирования нового кадра не пришло - ничего не изменилось, ничего не делаем, просто возвращаемся в loop() и дожидаемся когда сработают таймеры эффекта и бегущей строки (то есть - скорость эффекта).
В том то и была ошибка. Новые ядра в сочетании с библиотекой FastLED работают нестабильно. В том плане, что кадр сформировали, дали команду вывода кадра на матрицу и... А вот тут фиг. По только ядру известной причине он может вывести кадр, а может проигнорировать его и никуда ничего не выводить. Кадр просто теряется. По следующему таймеру смены кадра вывод произойдет, но визуально этот пропущенный кадр выглядит как рывки в эффекте или в бегущей строке.
Когда скорость эффекта / строки большая - команда вывода на матрицу отправляется часто и пропущенные кадры незаметны. Визуально они сглаживаются.
Поняв причину - добавил вывод на матрицу в
каждом цикле loop() вне зависимости - изменилось что-то в кадре или он точно такой же как был. Зато, если предыдущий цикл вывода на матрицу ядро проигнорировало - изображение все равно будет выведено в следующем цикле loop() и визуально не будет пропуска кадров, то есть подергиваний не должно быть.
Протестировал и на ESP8266 на последнем ядре 3.1.2 и на ESP32 тоже на последнем ядре 2.0.9 - подергиваний не вижу.
Проверяйте.
А вообще, похоже, проект 1.14 с веб-интерфейсом нужно признать не слишком удачным. И из за нестабильной работы новых ядер, и из за нестабильной работы самого Web-сервера. Ему часто не хватает памяти для отправки / приема сообщений и он просто может перезагружать контроллер, по нехватке памяти, если что-то пошло не так. Особенно на ESP8266... Вероятно стоит признать проект неудачным и закрыть его...