diff --git a/wled00/FX_fcn.cpp b/wled00/FX_fcn.cpp index c4cdcff5..7581f810 100644 --- a/wled00/FX_fcn.cpp +++ b/wled00/FX_fcn.cpp @@ -1932,7 +1932,9 @@ void WS2812FX::service() { if (frameDelay < speedLimit) frameDelay = FRAMETIME; // WLEDMM limit effects that want to go faster than target FPS if (seg.mode != FX_MODE_HALLOWEEN_EYES) seg.call++; - if (seg.transitional && frameDelay > FRAMETIME_FIXED) frameDelay = FRAMETIME_FIXED; // force faster updates during transition // WLEDMM only if effect requested very slow updates + + if (seg.transitional && frameDelay > max(int(FRAMETIME), int(FRAMETIME_FIXED))) + frameDelay = max(int(FRAMETIME), int(FRAMETIME_FIXED)); // force faster updates during transition // WLEDMM only if effect requested very slow updates seg.lastBri = seg.currentBri(seg.on ? seg.opacity:0); // WLEDMM remember for next time seg.handleTransition();