When global invalidation is enabled, Scale Boxes don't react properly to changes in the size of their contents. Licensees have worked around this by updating SScaleBox::OnArrangeChildren:
// This scale may not look right, the item being // shown may need 2 frames to truly be drawn correctly, // but rather than have a blank frame, it's better for us to try // and fit the contents to our known geometry. const float TempComputedContentScale = ComputedContentScale.IsSet() ? ComputedContentScale.GetValue() : ComputeContentScale(AllottedGeometry);
The workaround here is to compute the content scale again regardless of if it's already been set:
const float TempComputedContentScale = ComputeContentScale(AllottedGeometry);
While this solves the issue, it may introduce performance regressions in cases where global invalidation isn't enabled since we're always recomputing the scale.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-219598 in the post.
0 |
Component | UE - Editor - UI Systems - Slate |
---|---|
Affects Versions | 5.4, 5.5 |
Created | Jul 17, 2024 |
---|---|
Updated | Oct 1, 2024 |