-
-
Notifications
You must be signed in to change notification settings - Fork 317
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Fade in" animation makes the element appear for a split second before actual fade kicks in #4696
Comments
Alright, so I went ahead and did some further testing on a starter edition account with ALL addons disabled except for weakauras and pristine Weakauras.lua files and recorded another video to showcase. What I did is I created 4 auras and attached a fade-in to each; The fade-in on the 2 conditional auras as well as on the 1 cooldown aura always behaved like you would expect it to without any choppiness, but consistently everytime, without fail, the animation on the target debuff aura showed the issue I've been having. pristine.settings.mp4I've tried everything I could think of: adjusting graphic settings, changing monitor refresh rate in the Nvidia Controll panel, turned VSync on and off, turned renderscale up and down etc. I feel like a donkey getting irritated by and writing novels on github about such a miniscule issue, yet I can see myself tearing my hair out because of this. |
This is actually already fixed in a branch that we'll merge in the "near" future, though it'll probably be a few weeks until it ends up in a release. |
That's fantastic to hear. I honestly don't care too much when this is gonna end up in a release, just glad that it's not on my end somehow and that this has already been resolved. Thanks for the reply! |
* Make progress data (that is expirationTime/duration/value/total/etc) far less special state properties * Instead state metadata can now describe multiple properties as progress values and which other properties are relevant, e.g. charge = { display = "Charges", type = "number", total = "totalCharge" } will allow the user to select "charge" as progress source, which will automatically use state.totalCharge for the total value. Or someTime = { display = "X", type = "timer", total = "propertyName", modRate = "propertyName", inverse = "propertyName", paused = "propertyName", remaining = "propertyName" } All of the additional properties are optional. And lastly, someOtherTime = { display = "Y", type = "elapsedTimer" } For progress sources that are past time stamps. * Stacks, Unit count, etc are all potential progress sources now. * On the Display tab, the progress source can be selected from any trigger. * Conditions can switch the progress source * Ticks progress source is configurable and can be different from the main aura. This can be used via custom trigger to augment a main trigger * state.autoHide can be a time point at which the state should automatically hide. * Some behaviour changes, e.g. animations now observe the paused/remaining time and min/max progress settings * Probably some regressions Fixes: WeakAuras#4527 Fixes: WeakAuras#1449 Fixes: WeakAuras#4696 Fixes: WeakAuras#4719
* Make progress data (that is expirationTime/duration/value/total/etc) far less special state properties * Instead state metadata can now describe multiple properties as progress values and which other properties are relevant, e.g. charge = { display = "Charges", type = "number", total = "totalCharge" } will allow the user to select "charge" as progress source, which will automatically use state.totalCharge for the total value. Or someTime = { display = "X", type = "timer", total = "propertyName", modRate = "propertyName", inverse = "propertyName", paused = "propertyName", remaining = "propertyName" } All of the additional properties are optional. And lastly, someOtherTime = { display = "Y", type = "elapsedTimer" } For progress sources that are past time stamps. * Stacks, Unit count, etc are all potential progress sources now. * On the Display tab, the progress source can be selected from any trigger. * Conditions can switch the progress source * Ticks progress source is configurable and can be different from the main aura. This can be used via custom trigger to augment a main trigger * state.autoHide can be a time point at which the state should automatically hide. * Some behaviour changes, e.g. animations now observe the paused/remaining time and min/max progress settings * Probably some regressions Fixes: WeakAuras#4527 Fixes: WeakAuras#1449 Fixes: WeakAuras#4696 Fixes: WeakAuras#4719
* Make progress data (that is expirationTime/duration/value/total/etc) far less special state properties * Instead state metadata can now describe multiple properties as progress values and which other properties are relevant, e.g. charge = { display = "Charges", type = "number", total = "totalCharge" } will allow the user to select "charge" as progress source, which will automatically use state.totalCharge for the total value. Or someTime = { display = "X", type = "timer", total = "propertyName", modRate = "propertyName", inverse = "propertyName", paused = "propertyName", remaining = "propertyName" } All of the additional properties are optional. And lastly, someOtherTime = { display = "Y", type = "elapsedTimer" } For progress sources that are past time stamps. * Stacks, Unit count, etc are all potential progress sources now. * On the Display tab, the progress source can be selected from any trigger. * Conditions can switch the progress source * Ticks progress source is configurable and can be different from the main aura. This can be used via custom trigger to augment a main trigger * state.autoHide can be a time point at which the state should automatically hide. * Some behaviour changes, e.g. animations now observe the paused/remaining time and min/max progress settings * Probably some regressions Fixes: WeakAuras#4527 Fixes: WeakAuras#1449 Fixes: WeakAuras#4696 Fixes: WeakAuras#4719
* Make progress data (that is expirationTime/duration/value/total/etc) far less special state properties * Instead state metadata can now describe multiple properties as progress values and which other properties are relevant, e.g. charge = { display = "Charges", type = "number", total = "totalCharge" } will allow the user to select "charge" as progress source, which will automatically use state.totalCharge for the total value. Or someTime = { display = "X", type = "timer", total = "propertyName", modRate = "propertyName", inverse = "propertyName", paused = "propertyName", remaining = "propertyName" } All of the additional properties are optional. And lastly, someOtherTime = { display = "Y", type = "elapsedTimer" } For progress sources that are past time stamps. * Stacks, Unit count, etc are all potential progress sources now. * On the Display tab, the progress source can be selected from any trigger. * Conditions can switch the progress source * Ticks progress source is configurable and can be different from the main aura. This can be used via custom trigger to augment a main trigger * state.autoHide can be a time point at which the state should automatically hide. * Some behaviour changes, e.g. animations now observe the paused/remaining time and min/max progress settings * Probably some regressions Fixes: WeakAuras#4527 Fixes: WeakAuras#1449 Fixes: WeakAuras#4696 Fixes: WeakAuras#4719
* Make progress data (that is expirationTime/duration/value/total/etc) far less special state properties * Instead state metadata can now describe multiple properties as progress values and which other properties are relevant, e.g. charge = { display = "Charges", type = "number", total = "totalCharge" } will allow the user to select "charge" as progress source, which will automatically use state.totalCharge for the total value. Or someTime = { display = "X", type = "timer", total = "propertyName", modRate = "propertyName", inverse = "propertyName", paused = "propertyName", remaining = "propertyName" } All of the additional properties are optional. And lastly, someOtherTime = { display = "Y", type = "elapsedTimer" } For progress sources that are past time stamps. * Stacks, Unit count, etc are all potential progress sources now. * On the Display tab, the progress source can be selected from any trigger. * Conditions can switch the progress source * Ticks progress source is configurable and can be different from the main aura. This can be used via custom trigger to augment a main trigger * state.autoHide can be a time point at which the state should automatically hide. * Some behaviour changes, e.g. animations now observe the paused/remaining time and min/max progress settings * Probably some regressions Fixes: WeakAuras#4527 Fixes: WeakAuras#1449 Fixes: WeakAuras#4696 Fixes: WeakAuras#4719
* Make progress data (that is expirationTime/duration/value/total/etc) far less special state properties * Instead state metadata can now describe multiple properties as progress values and which other properties are relevant, e.g. charge = { display = "Charges", type = "number", total = "totalCharge" } will allow the user to select "charge" as progress source, which will automatically use state.totalCharge for the total value. Or someTime = { display = "X", type = "timer", total = "propertyName", modRate = "propertyName", inverse = "propertyName", paused = "propertyName", remaining = "propertyName" } All of the additional properties are optional. And lastly, someOtherTime = { display = "Y", type = "elapsedTimer" } For progress sources that are past time stamps. * Stacks, Unit count, etc are all potential progress sources now. * On the Display tab, the progress source can be selected from any trigger. * Conditions can switch the progress source * Ticks progress source is configurable and can be different from the main aura. This can be used via custom trigger to augment a main trigger * state.autoHide can be a time point at which the state should automatically hide. * Some behaviour changes, e.g. animations now observe the paused/remaining time and min/max progress settings * Probably some regressions Fixes: WeakAuras#4527 Fixes: WeakAuras#1449 Fixes: WeakAuras#4696 Fixes: WeakAuras#4719
* Make progress data (that is expirationTime/duration/value/total/etc) far less special state properties * Instead state metadata can now describe multiple properties as progress values and which other properties are relevant, e.g. charge = { display = "Charges", type = "number", total = "totalCharge" } will allow the user to select "charge" as progress source, which will automatically use state.totalCharge for the total value. Or someTime = { display = "X", type = "timer", total = "propertyName", modRate = "propertyName", inverse = "propertyName", paused = "propertyName", remaining = "propertyName" } All of the additional properties are optional. And lastly, someOtherTime = { display = "Y", type = "elapsedTimer" } For progress sources that are past time stamps. * Stacks, Unit count, etc are all potential progress sources now. * On the Display tab, the progress source can be selected from any trigger. * Conditions can switch the progress source * Ticks progress source is configurable and can be different from the main aura. This can be used via custom trigger to augment a main trigger * state.autoHide can be a time point at which the state should automatically hide. * Some behaviour changes, e.g. animations now observe the paused/remaining time and min/max progress settings * Probably some regressions Fixes: WeakAuras#4527 Fixes: WeakAuras#1449 Fixes: WeakAuras#4696 Fixes: WeakAuras#4719
* Make progress data (that is expirationTime/duration/value/total/etc) far less special state properties * Instead state metadata can now describe multiple properties as progress values and which other properties are relevant, e.g. charge = { display = "Charges", type = "number", total = "totalCharge" } will allow the user to select "charge" as progress source, which will automatically use state.totalCharge for the total value. Or someTime = { display = "X", type = "timer", total = "propertyName", modRate = "propertyName", inverse = "propertyName", paused = "propertyName", remaining = "propertyName" } All of the additional properties are optional. And lastly, someOtherTime = { display = "Y", type = "elapsedTimer" } For progress sources that are past time stamps. * Stacks, Unit count, etc are all potential progress sources now. * On the Display tab, the progress source can be selected from any trigger. * Conditions can switch the progress source * Ticks progress source is configurable and can be different from the main aura. This can be used via custom trigger to augment a main trigger * state.autoHide can be a time point at which the state should automatically hide. * Some behaviour changes, e.g. animations now observe the paused/remaining time and min/max progress settings * Probably some regressions Fixes: #4527 Fixes: #1449 Fixes: #4696 Fixes: #4719
This is now merged for the next release. |
Before 5.12.0 aniamtions would not run immediately on start leading to bug reports like WeakAuras#4696, where a fade in animation would briefly show at full opacity, because it was applied one frame late. The dynamic group's border uses the current position of auras, whenever it is triggered via an aura's expand/collapse. Thus for an aura with a slide in position, before 5.12.0 the normal position was used, and with 5.12.0 the starting point of the slide animation. The interaction between animations and borders is messy. It probably should have two modes: * Taking the static position/size * Taking the dynamic position/sizes but also update on any changes to the position/sizes For now, delay the first animation running with C_Timer.After(0), which ensures that it runs in the initial frame, but after everything else. Fixes: WeakAuras#4933
Before 5.12.0 aniamtions would not run immediately on start leading to bug reports like WeakAuras#4696, where a fade in animation would briefly show at full opacity, because it was applied one frame late. The dynamic group's border uses the current position of auras, whenever it is triggered via an aura's expand/collapse. Thus for an aura with a slide in position, before 5.12.0 the normal position was used, and with 5.12.0 the starting point of the slide animation. The interaction between animations and borders is messy. It probably should have two modes: * Taking the static position/size * Taking the dynamic position/sizes but also update on any changes to the position/sizes And this should actually be decided by the child regions, a child should have a "bounding box", which is what the border, but also layout should take into account. And a every time the bounding box changes, the dynamic groups layout/border functions should run. It's then up to the region whether animations/conditions etc. change the bounding box. For now, delay the first animation running with C_Timer.After(0), which ensures that it runs in the initial frame, but after everything else. Fixes: WeakAuras#4933
Before 5.12.0 aniamtions would not run immediately on start leading to bug reports like #4696, where a fade in animation would briefly show at full opacity, because it was applied one frame late. The dynamic group's border uses the current position of auras, whenever it is triggered via an aura's expand/collapse. Thus for an aura with a slide in position, before 5.12.0 the normal position was used, and with 5.12.0 the starting point of the slide animation. The interaction between animations and borders is messy. It probably should have two modes: * Taking the static position/size * Taking the dynamic position/sizes but also update on any changes to the position/sizes And this should actually be decided by the child regions, a child should have a "bounding box", which is what the border, but also layout should take into account. And a every time the bounding box changes, the dynamic groups layout/border functions should run. It's then up to the region whether animations/conditions etc. change the bounding box. For now, delay the first animation running with C_Timer.After(0), which ensures that it runs in the initial frame, but after everything else. Fixes: #4933
Is there an existing issue for this?
Description
Whenever I try to use the "fade in" animation (doesn't matter if preset or custom w/ variable settings),
the fully opaque icon/bar/whatver appears and disappears for a split second and then, AFTER this, the proper fade in animation passes, making everything feel incredibly unsmooth and choppy.
I've attached a video with a freshly made "Schism" icon aura with a 2s fade in time on the left side that should demonstrate the issue.
fade.in.animation.bug.mp4
Things I tried to troubleshoot so far:
Did not work:
Did seemingly work:
I remember having this issue since at least the beginning of Shadowlands.
I'm currently sitting at around ~1600 auras with a ~14mb Weakauras.lua filesize, if this is of any matter.
Below is my zipped WeakAuras.lua
WeakAurasLUA.zip
WeakAuras Version
WeakAuras 5.8.4
World of Warcraft Flavor
Retail (Default)
World of Warcraft Region
EU
Tested with only WeakAuras
Lua Error
Reproduction Steps
Last Good Version
No response
Screenshots
No response
Export String
No response
The text was updated successfully, but these errors were encountered: