Search Issue Tracker

Active

Under Consideration for 2021.3.X, 2022.3.X, 6000.0.X, 6000.1.X, 6000.2.X

Votes

0

Found in

2021.3.50f1

2022.3.61f1

6000.0.44f1

6000.1.0b12

6000.2.0a8

Issue ID

UUM-102150

Regression

No

[UIToolkit][DX3D12] Enabling a panel by changing style.display from None to Flex in LateUpdate for 1 frame it will render on the wrong display

-

Steps to reproduce:
1. Open the attached project "UIToolkitBlipReproduction.zip"
2. Have 2 connected physical/virtual displays
3. Build a Windows Standalone Player
4. Once running, in the second display press the "Enable UIDoc" button next to the big white quad
5. Observe for 1 frame that the UI Panel appears on the primary display and renders properly on the second display

Expected Results: Enabling a panel by changing style.display from None to Flex in LateUpdate renders on the correct display
Actual Results: Enabling a panel by changing style.display from None to Flex in LateUpdate for 1 frame it will render on the wrong display (See attached Repro.mp4)

Reproducible with: 2021.3.50f1, 2022.3.61f1
Could not effectively test on 6000.0.45f1, 6000.1.0b14 and 6000.2.0a8 due to the UI Panel rendering incorrectly once built

Environment tested: Windows 11 24H2

Notes:
-Issue reproduces with 2 physical and virtual displays
-Issue only reproduces with Direct3D12
-Issue only reproduces when Graphics Jobs are enabled
-Issue only reproduces when Vsync is set to "Every V Blank"
-After enabling a portion of the panel during LateUpdate (by changing its style.display property from None to Flex), for one frame only, the entire panel will render on the wrong display - so it will visibly "blip" from one display to the other and back. From the next frame onward, even if that portion of the panel is subsequently disabled and re-enabled again, it will always render on the correct display.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.