меня не очень интересует внутренний счетчик Фастлед, мне интересна общая длительность "оборота" loop() у @maxlab. Подозреваю, что эти цифры не совпадаут.FastLED имеет внутренний счетчик,
Слушайте, я ведь нашел коммиты где вы его вставили, как и предполагалось - не туда и не так. Если есть желание поспорить, лучше в нашей ветке, я вам номера коммитов дам, если очень надобно.@kDn, он отдельно жил от системного. Я его вставлял только для отладки эффектов, и убирал перед коммитами. А не хрен знает куда. Ога.
Правильнее вставить в обертке видаFastLED.getFPS() 85 кадров показывает. Я его сюда вставил
EVERY_N_SECONDS(5){
FastLED.getFPS();
}
Ну так и напишите свой код для расчете FPS, если вы в библиотечном не уверены))). Или вы хотите глупую работу для @maxlab придумать? Ну если ему нечем заняться - пусть пишет, но смысла особого нет. Вот к примеру сверка двух счетчиков у нас:меня не очень интересует внутренний счетчик Фастлед, мне интересна общая длительность "оборота" loop() у @maxlab. Подозреваю, что эти цифры не совпадаут.
что-то он у вас по три раза одно и то же значение выводит... Хотелось бы понять, почему... и нет ли ошибкиПолный круг около 30 мс
если не сложно. Работу вам добавлять не хочу, спрашиваю из банального интереса.Завтра меандр на любой пин свободный из лупа кину, частотомером померяю
Дык если вообще убрать все из цикла и оставить там лишь вывод в терминал, то сколько успеет, столько и выведет))). Но вообще спамить в терминал идея плохая, т.к. вы этим только замедляете работу камня, выводите данные реже, раз в 5-10 секунд достаточно.ХЗ почему по три раза... Наверное особенности ядра для китайского чипа Завтра меандр на любой пин свободный из лупа кину, частотомером померяю
Возможно тут @bort707 в терминологии слегка плавает и под FPS подразумевает нечто свое, а не Frame Per Second как общепринятоСам loop и его длительность тут никаким боком.
согласен, только если посмотреть код автора - FastLED.show() у него в коде вызывается один раз.FastLED.getFPS() считает сколько раз произошел FastLED.show() за 1000мс, если выводить три раза за loop, а луп 30мс, то можно получить что-то типа 100фпс.
последовательный, вообще-тоиспользуется параллельный вывод на две матрицы.
что, очевидно, неправильно. То есть цифру ФастЛЕд в данном случае надо, как минмум, делить на два.FastLED лед даже один вызов show в таком случае считает за два.
На картинке ниже я вижу что-то около 28 (точно не считал) вызовов за ~300мс (треть секунды), а вы сколько видите?В любом случае, если ЛУП вызывается 33 раза в секунду а лента обновляется один раз в цикле ЛУП, то FPS -=85 - очевидно завышенная цифра.
Вот так можно прикинуть плюс-минус лапоть. Полный круг около 30 мс
Посмотреть вложение 27481
я же не спорю, отличный результат.ну так все равно полтинник. Что круто, как для камня уровня 328.
уже нет смысла спорить, на картинку #70 с осцилом посмотрите. Около 40 Гц там, что очень хорошо бьется с результатом 30мс на цикл, с учетом времени на сам вывод в Сериал.На картинке ниже я вижу что-то около 28 (точно не считал) вызовов за ~300мс (треть секунды), а вы сколько видите?
Нет. Не завышает. @kDn считал отдельной самописной функцией, +-1FPS. Я же говорю - отключить сериал, или выводить раз в пару секунд, и будет ~90-100/2.Вывод - ФастЛед слегка завышает чтобы программистам было приятно
Так, а код при этом менялся? Ну там может пин какой-то дергался для меандра? И что при этом стало со значением FPS? Оно не изменилось или изменилось? Так-то для меня картинка без кода и без лога мало чего говоритуже нет смысла спорить, на картинку #70 с осцилом посмотрите. Около 40 Гц там, что очень хорошо бьется с результатом 30мс на цикл, с учетом времени на сам вывод в Сериал.
вы же сами только что сказали, что при выводе на две ветви оно считает каждый вызов отдельно. Это и есть завышение вдвое.Нет. Не завышает.
это правильный вопрос. Если пин инвертируется 1 раз на ЛУП - частота в 2 раза больше...Так, а код при этом менялся?