GyverLamp icon indicating copy to clipboard operation
GyverLamp copied to clipboard

Не "корректная/реалистичная" работа огня

Open DisDis opened this issue 5 years ago • 4 comments

Огонь сменяется слишком дискретно, причина как мне кажется в том что скорость в текущей конфигурации влияет на FPS, а в идеальном варианте должна влиять на скорость изменения/интерполяции самого эффекта.(в текущем коде проценты меняются со скоростью 30 https://github.com/AlexGyver/GyverLamp/blob/master/firmware/GyverLamp_v1.5.5/effects.ino#L78 ) и сам таймер https://github.com/AlexGyver/GyverLamp/blob/master/firmware/GyverLamp_v1.5.5/effectTicker.ino#L5

я попробую поэксперементировать, но может есть сразу подводные камни или предложения куда копать?

DisDis avatar Dec 29 '19 09:12 DisDis

@gunner47 может у вас есть идеи?

DisDis avatar Dec 29 '19 09:12 DisDis

Если вы понимаете под "слишком дискретно" "слишком не плавно, ступенчато", тогда таймеры не причём. Таймеры влияют на скорость, но не на плавность. Предположим, в прошивке есть другой ёмкий по времени код в цикле loop. Он выполняется дольше, чем заданное время между перерисовками "кадров" эффекта огня. Получается, каждый "кадр" будет отображаться матрицей дольше, визуально огонь станет медленнее. Но не ступенчатее. При условии, что тот другой код тратит одинаковое время на каждую свою итерацию. Что может негативно влиять на плавность? Скорее всего, pcnt, о которых вы написали выше (следующий "кадр" слишком далеко смещён относительно предыдущего). Либо инертность матрицы или глаз :) В последнее не верю.

gunner47 avatar Dec 29 '19 12:12 gunner47

@gunner47 я и топлю за то что бы плавность поднять. сейчас скорость влияет на таймер, но не на плавность.

DisDis avatar Dec 29 '19 14:12 DisDis

@AlexGyver @gunner47 Здравствуйте,что делать если при включении эффекта огня огонь работает по всей поверхности ленты? может ли это происходить изза того что я просто намотал ленту на трубу? найстройки размера стоят правильно

XB1ades avatar Jan 08 '23 23:01 XB1ades