Menu background animation increasingly stuttering

OK so here’s a weird bug for you all. I’m using the xmb menu driver, and I set the menu shader pipeline to the snow effect. When I start RetroArch the animation is real smooth and all, but it becomes increasingly… weird as time goes by. Flakes are starting to desync and the animation becomes choppy as hell. Funny thing is RetroArch itself is not lagging at all and emulation is top notch too… so what even is happening here? I’ve had some issues with odd micro stutters happening in games and 60 fps stuff that I’ve never been able to solve (already tried everything even changing the whole damn computer) could this be related?

EDIT: Of note, it only happens with snow, simple snow and bokeh. Ribbon has no such issue.

This is how it starts, pretty normal

After 30 seconds

After 2 minutes

Here’s the log by the way, not sure it will help all things considered.

[INFO] RetroArch 1.9.6 (Git 4a6dc36)
[INFO] === Build =======================================
[INFO] CPU Model Name: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
[INFO] Capabilities:  MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX AVX2
[INFO] Built: Jul  4 2021
[INFO] Version: 1.9.6
[INFO] Git: 4a6dc36
[INFO] =================================================
[INFO] [Input]: Found input driver: "dinput".
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ 1600x1200
[INFO] [Vulkan]: Vulkan dynamic library loaded.
[INFO] [Vulkan]: Found vulkan context: vk_w
[INFO] [Vulkan]: Detecting screen resolution 3840x2160.
[INFO] [Vulkan]: Found GPU at index 0: NVIDIA GeForce RTX 2070 SUPER
[INFO] [Vulkan]: Using GPU index 0.
[INFO] [Vulkan]: Using fences for WSI acquire.
[INFO] [Vulkan]: Using GPU: NVIDIA GeForce RTX 2070 SUPER
[INFO] [Vulkan]: Queue family 0 supports 16 sub-queues.
[INFO] [Vulkan]: Using resolution 1600x1200
[INFO] [Vulkan]: Using RGB565 format.
[INFO] [Vulkan]: Loading stock shader.
[INFO] [XInput]: Found XInput v1.4.
[WARN] [DINPUT]: Strong rumble unavailable.
[WARN] [DINPUT]: Weak rumble unavailable.
[WARN] [DINPUT]: Strong rumble unavailable.
[WARN] [DINPUT]: Weak rumble unavailable.
[INFO] [Joypad]: Found joypad driver: "dinput".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Video]: Found display server: win32
[INFO] [XAudio2]: Requesting 64 ms latency, using 64 ms latency.
[INFO] [Display]: Found display driver: "vulkan".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [SRAM]: SRAM will not be saved.
[INFO] [Playlist]: Loading history file: [C:\Software\RetroArch\content_history.lpl].
[INFO] [Playlist]: Loading history file: [C:\Software\RetroArch\content_music_history.lpl].
[INFO] [Playlist]: Loading history file: [C:\Software\RetroArch\content_video_history.lpl].
[INFO] [Playlist]: Loading history file: [C:\Software\RetroArch\content_image_history.lpl].
[INFO] [Playlist]: Loading favorites file: [C:\Software\RetroArch\content_favorites.lpl].
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.`

heh, yeah, that’s a known problem. IIRC, it only happens on Nvidia drivers and has something to do with shader float precision over time, maybe…?

1 Like

So… it can’t be fixed, is what you’re saying? :sweat_smile:

not easily, at least. We tried a few things when we first noticed it, but the most reliable fix is to make the timer “wrap” every minute or so, but that’s pretty jarring when the loop resets.

You might also verify whether it happens with other video drivers.