Forum Discussion
[Merge Fellas] Unlimited Shake Animation Bug in WinUI 3 on Windows 11?
Hi everyone,
I'm running into a bizarre rendering issue on Windows 11 (22H2) with a WinUI 3 project and I'm hoping to get some community insight.
The core of my app involves dynamically merging two UI panels. For simplicity in my dev team, we call these components "the fellas". The goal is a smooth merge fellas operation where one panel absorbs the other.
However, after the state update, the target panel enters an unlimited shake animation loop. It looks like the standard "input error" shake, but it never stops. This unlimited shake completely freezes the UI thread.
My question is, has anyone seen this kind of behavior before?
- Is this a potential race condition bug in the Windows 11 DWM or WinUI 3's composition engine when handling rapid state changes?
- Or is my approach to the merge fellas logic itself flawed, causing a recursive update loop that manifests as an unlimited shake?
I'm trying to achieve a fluid, non-blocking merge effect, something conceptually similar to the smooth transitions you can see on this web app:
https://www.google.com/url?sa=E&q=https%3A%2F%2Fmodhello.com%2Fmerge-fellas%2F
The problem is that my merge fellas unlimited shake issue seems to be platform-specific. I'm looking for architectural advice or alternative approaches. Is there a better way to handle merging stateful UI components in WinUI 3 to avoid these rendering conflicts?
Any thoughts or shared experiences would be greatly appreciated. Thanks.
3 Replies
- PonesIron Contributor
If your code programmatically triggers the shake animation upon state change, verify that the animation isn't being retriggered on every frame or layout pass.
- HarperLakeIron Contributor
Rapid, successive updates to the visual tree or properties can cause WinUI/Composition to enter a weird loop, especially if the updates cause animations to restart or reapply.
- WendykiloIron Contributor
If your merge logic triggers multiple updates in quick succession, it could cause the animation system to interpret the rapid changes as a "shake" input, especially if animations are tied directly to layout or visual state updates.