So I've been trying to find different ways to get rid of this stutter that occurs at the start and end of my looping gradients.

The slower the animation, the more obvious it is but it's still there even when it's just 6 seconds on loop.

Example posted to YouTube

It occurred on my ancient PC and it still happens on my newer one which makes me think it's a software issue. Does anyone have any suggestions on getting rid of it or should I just accept it as inevitable.
It honestly isn't the end of the world if it can't be fixed, would just be nice if I could.

So I've been trying to find different ways to get rid of this stutter that occurs at the start and end of my looping gradients. The slower the animation, the more obvious it is but it's still there even when it's just 6 seconds on loop. [Example posted to YouTube](https://youtu.be/B96F_he6fWA?feature=shared) It occurred on my ancient PC and it still happens on my newer one which makes me think it's a software issue. Does anyone have any suggestions on getting rid of it or should I just accept it as inevitable. It honestly isn't the end of the world if it can't be fixed, would just be nice if I could.

https://solo.to/sycaid

CPU: Ryzen 7 7840HS (8/16)(5.1MHz Boost) + GPU: Radeon 780m iGPU (8GB vram)
 
0
reply

Try changing the start and end key frame interpolation from smooth to linear where you set the gradient indices, otherwise it will start slowly, then speed up, and then slow down again. You want constant speed, so turn that off.

Check this page for more info:
https://www.ultrafractal.com/help/index.html?/help/animation/interpolation.html

Try changing the start and end key frame interpolation from smooth to linear where you set the gradient indices, otherwise it will start slowly, then speed up, and then slow down again. You want constant speed, so turn that off. Check this page for more info: https://www.ultrafractal.com/help/index.html?/help/animation/interpolation.html
 
0
reply

Hi Phillip!

I actually thought that might be the issue and tried to figure out how to change the interpolation. But I am unable to figure out where that is. Looking at the manual, it says it should be on the Timeline Tool window but it simply isn't for me.

Here's what mine looks like-
66034c28c6cda.png

I'm no sure why it's not there. Selecting the layer that is animated doesn't bring it up either, though the manuel says it should.
I fully accept that I'm either just slow and/or blind as hell. smile

Hi Phillip! I actually thought that might be the issue and tried to figure out how to change the interpolation. But I am unable to figure out where that is. Looking at the manual, it says it should be on the Timeline Tool window but it simply isn't for me. Here's what mine looks like- ![66034c28c6cda.png](serve/attachment&path=66034c28c6cda.png) I'm no sure why it's not there. Selecting the layer that is animated doesn't bring it up either, though the manuel says it should. I fully accept that I'm either just slow and/or blind as hell. :D

https://solo.to/sycaid

CPU: Ryzen 7 7840HS (8/16)(5.1MHz Boost) + GPU: Radeon 780m iGPU (8GB vram)
edited Mar 27 at 1:41 am
 
0
reply

Click on the little + next to Gradient, that will bring up the values for it. There should be one that is changing, click that one, and specifically click the little square dot in the timeline. That should bring up the interpolation options at the bottom of the window.

Click on the little + next to Gradient, that will bring up the values for it. There should be one that is changing, click that one, and specifically click the little square dot in the timeline. That should bring up the interpolation options at the bottom of the window.
 
0
reply

Hello! I found the interpolation options by following your directions.
Unfortunately it did not solve the stutter issue. I rendered out a new one after turning off interpolation and it made zero difference. I did both a 7sec and 15sec versions and both stuttered (it was more obvious on the 15second one).

Ah well, that's okay. Ty for helping!

Hello! I found the interpolation options by following your directions. Unfortunately it did not solve the stutter issue. I rendered out a new one after turning off interpolation and it made zero difference. I did both a 7sec and 15sec versions and both stuttered (it was more obvious on the 15second one). Ah well, that's okay. Ty for helping!

https://solo.to/sycaid

CPU: Ryzen 7 7840HS (8/16)(5.1MHz Boost) + GPU: Radeon 780m iGPU (8GB vram)
 
0
reply

It seems I misunderstood the problem. I thought the slowing down at the start and end of the loop was the problem.

What you are seeing could also be because gradient positions are integers, and there are a max of 400 positions. So doing a 15 second animation means you have 15*30 frames, that means the gradient will advance by 1.25 each frame. I am not sure whether this is rounded or truncated, but with rounding the following would happen:

frame, gradient index (interpolated), gradient index (int), advanced by:

0, 0.00, 0, -
1, 1.25, 1, 1
2, 2.50, 3, 2 <-- double jump
3, 3.75, 4, 1
4, 5.00, 5, 1
5, 6.25, 6, 1
6, 7.50, 8, 2 <-- double jump
7, 8.75, 9, 1

Note how the gradient index jumps by 2 every 4 frames in this example. One thing you could try is picking a duration whose total frame count is a multiple of 400 and see if that helps. Ideally, UF should just use floats under the hood here in my opinion, but this might break some backward compatibility that I am not aware of. Maybe Frederik has an idea here.

It seems I misunderstood the problem. I thought the slowing down at the start and end of the loop was the problem. What you are seeing could also be because gradient positions are integers, and there are a max of 400 positions. So doing a 15 second animation means you have 15*30 frames, that means the gradient will advance by 1.25 each frame. I am not sure whether this is rounded or truncated, but with rounding the following would happen: frame, gradient index (interpolated), gradient index (int), advanced by: ```` 0, 0.00, 0, - 1, 1.25, 1, 1 2, 2.50, 3, 2 &lt;-- double jump 3, 3.75, 4, 1 4, 5.00, 5, 1 5, 6.25, 6, 1 6, 7.50, 8, 2 &lt;-- double jump 7, 8.75, 9, 1 ```` Note how the gradient index jumps by 2 every 4 frames in this example. One thing you could try is picking a duration whose total frame count is a multiple of 400 and see if that helps. Ideally, UF should just use floats under the hood here in my opinion, but this might break some backward compatibility that I am not aware of. Maybe Frederik has an idea here.
edited Apr 1 at 6:24 pm
 
0
reply

So perhaps I ought to try a 1200 frame (at 60fps) animation then? I'll admit I'm not the greatest at math so I did not entirely understand your explanation. My fault, not yours.

So perhaps I ought to try a 1200 frame (at 60fps) animation then? I&#039;ll admit I&#039;m not the greatest at math so I did not entirely understand your explanation. My fault, not yours.

https://solo.to/sycaid

CPU: Ryzen 7 7840HS (8/16)(5.1MHz Boost) + GPU: Radeon 780m iGPU (8GB vram)
 
0
reply

Yes, try 1200 at 60 and let us know if it's still there.

Yes, try 1200 at 60 and let us know if it&#039;s still there.
 
0
reply

Alright I'm back. Sorry for the late reply I got diagnosed with really bad Strep that left me severely fatigued, so I just slept a lot, lol. Fortunately the antibiotics worked and I'm much better.

I decided to do 4 animations because I wanted to see if it was just the gradient from the first animation that was the issue, or if it's a wider problem. I also rendered them at 720p, 60fps so it wouldn't take as long as 4K would, and at 800 frames.

Here are the unlisted links: One, Two, Three and Four.

As you ought to be able to see, they all still have the stutter once the loop ends and starts near 13.33 seconds. I tripled checked to make sure the interpolation was turned off. It's most obvious in the Third and Fourth ones.

Alright I&#039;m back. Sorry for the late reply I got diagnosed with really bad Strep that left me severely fatigued, so I just slept a lot, lol. Fortunately the antibiotics worked and I&#039;m much better. I decided to do 4 animations because I wanted to see if it was just the gradient from the first animation that was the issue, or if it&#039;s a wider problem. I also rendered them at 720p, 60fps so it wouldn&#039;t take as long as 4K would, and at 800 frames. Here are the unlisted links: [One](https://youtu.be/4YuBW05y8Fc?feature=shared), [Two](https://youtu.be/mEGeqoBfdqU?feature=shared), [Three](https://youtu.be/rIEatqXYwDc?feature=shared) and [Four](https://youtu.be/deAkg9KVKYY?feature=shared). As you ought to be able to see, they all still have the stutter once the loop ends and starts near 13.33 seconds. I tripled checked to make sure the interpolation was turned off. It&#039;s most obvious in the Third and Fourth ones.

https://solo.to/sycaid

CPU: Ryzen 7 7840HS (8/16)(5.1MHz Boost) + GPU: Radeon 780m iGPU (8GB vram)
edited Apr 9 at 3:41 am
 
0
reply

What you are seeing now is the slowing of the change toward the key frames (smooth interpolation to standstill). As it's slowing down, its discrete nature becomes increasingly obvious. Here's an illustration of some bogus values:

661523452858a.png

You can see how the rise is linear in the center, but as the curves flatten toward the start and end, you get multiple frames using the same value and then suddenly another jump. This is the stuttering you are seeing.

What you are seeing now is the slowing of the change toward the key frames (smooth interpolation to standstill). As it&#039;s slowing down, its discrete nature becomes increasingly obvious. Here&#039;s an illustration of some bogus values: ![661523452858a.png](serve/attachment&amp;path=661523452858a.png) You can see how the rise is linear in the center, but as the curves flatten toward the start and end, you get multiple frames using the same value and then suddenly another jump. This is the stuttering you are seeing.
 
0
reply

I see. Is there anyway it can be fixed or am I SOL?

I see. Is there anyway it can be fixed or am I SOL?

https://solo.to/sycaid

CPU: Ryzen 7 7840HS (8/16)(5.1MHz Boost) + GPU: Radeon 780m iGPU (8GB vram)
 
0
reply

Not easily. You could go for a direct coloring algorithm, i.e. set the R, G, and B values in your coloring algorithm instead of just setting #index. This would allow you to do your own interpolation onto floats. It's certainly not a trivial fix, but it should be well within UF's capabilities.

Not easily. You could go for a direct coloring algorithm, i.e. set the R, G, and B values in your coloring algorithm instead of just setting #index. This would allow you to do your own interpolation onto floats. It&#039;s certainly not a trivial fix, but it should be well within UF&#039;s capabilities.
 
0
reply

That honestly seems like a headache I'd rather not bother with.

Regardless, thank you for all your help, I do truly appreciate it!

That honestly seems like a headache I&#039;d rather not bother with. Regardless, thank you for all your help, I do truly appreciate it!

https://solo.to/sycaid

CPU: Ryzen 7 7840HS (8/16)(5.1MHz Boost) + GPU: Radeon 780m iGPU (8GB vram)
 
0
reply

This has come up recently in an email conversation as well. I will investigate if it's easily possible to use float interpolation here to fix the stutter.

This has come up recently in an email conversation as well. I will investigate if it&#039;s easily possible to use float interpolation here to fix the stutter.

Ultra Fractal author

 
0
reply

Ohh I'd be beyond happy if you are able to fix it!!!! That would be amazing. smile

Ohh I&#039;d be beyond happy if you are able to fix it!!!! That would be amazing. (blush)

https://solo.to/sycaid

CPU: Ryzen 7 7840HS (8/16)(5.1MHz Boost) + GPU: Radeon 780m iGPU (8GB vram)
 
0
reply

Hello! I'm wondering if there's been any headway on this issue or not.

Hello! I&#039;m wondering if there&#039;s been any headway on this issue or not.

https://solo.to/sycaid

CPU: Ryzen 7 7840HS (8/16)(5.1MHz Boost) + GPU: Radeon 780m iGPU (8GB vram)
 
0
reply

I've started working on it, but haven't completely finished yet.

I&#039;ve started working on it, but haven&#039;t completely finished yet.

Ultra Fractal author

 
0
reply

Thank you for replying, I appreciate it.

Thank you for replying, I appreciate it.

https://solo.to/sycaid

CPU: Ryzen 7 7840HS (8/16)(5.1MHz Boost) + GPU: Radeon 780m iGPU (8GB vram)
 
0
reply

So I've been experimenting with this, and it works really well, but the problem is that creates a potential incompatibility with previous UF versions. You can create gradient points that e.g. have an index value of 10.2 instead of 10, and when you save that to a parameter set, previous versions cannot load it.

One way to completely avoid this problem is to only ever save integer values, and keep the float interpolation only when doing animation interpolation internally. So e.g. in the gradient editor, when you step through an animation frame by frame, you could see the index value going 7, 8, 8, 9, 9, 9, but internally it does 7.4, 7.8, 8.2, 8.6, 9, 9.4. But that could also be potentially confusing because the image changes slightly but you don't see that in the gradient editor.

So I&#039;ve been experimenting with this, and it works really well, but the problem is that creates a potential incompatibility with previous UF versions. You can create gradient points that e.g. have an index value of 10.2 instead of 10, and when you save that to a parameter set, previous versions cannot load it. One way to completely avoid this problem is to only ever save integer values, and keep the float interpolation only when doing animation interpolation internally. So e.g. in the gradient editor, when you step through an animation frame by frame, you could see the index value going 7, 8, 8, 9, 9, 9, but internally it does 7.4, 7.8, 8.2, 8.6, 9, 9.4. But that could also be potentially confusing because the image changes slightly but you don&#039;t see that in the gradient editor.

Ultra Fractal author

 
0
reply
324
views
18
replies
3
followers
live preview
Enter at least 10 characters.
WARNING: You mentioned %MENTIONS%, but they cannot see this message and will not be notified
Saving...
Saved
All posts under this topic will be deleted ?
Pending draft ... Click to resume editing
Discard draft