You can try one of these solutions:
- Lowering the background size and slowing the animation can help minimize the visible transitions.
- Use a gradient with colors that are closer to each other in hue and brightness. This minimizes the perceived transition between colors.
- Use more subtle easing curves (e.g., cubic-bezier) for smoothness.
- Adding will-change: background-position; to the body can optimize rendering and smooth out animations.