Search Issue Tracker
Won't Fix
Votes
0
Found in
2018.3.11f1
2018.4
2020.2
Issue ID
1272555
Regression
No
Canvas elements' changes in size are delayed when the Build window's resolution is changed using the "SetResolution" function
How to reproduce:
1. Open user's attached "窗口大小改变的问题" project
2. Open the "SampleScene" Scene
3. Open the Build Settings (File->Build Settings...)
4. Make sure that the opened Scene is added into the Scenes In Build list
5. Build And Run
6. When the Build opens press the bottom button
7. Press the top button
Expected results: The Canvas elements resize without a delay when changing the window resolution
Actual results: The Canvas elements resize after a small delay when changing the window resolution
Reproducible with: 2018.4.26f1, 2019.4.9f1, 2020.1.4f1, 2020.2.0b1
Notes:
- The issue was tested and reproduced on Mac and Windows Standalone Builds (the issue is less noticeable on Windows)
- The issue does not reproduce when resizing the Build window by dragging its sides/corners
- The issue is also reproducible if the project is built and then launched by opening the executable file
- Reproducible on any Canvas Render Mode
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- [iOS]"The destination host has an erroneous SSL certificate" error is thrown when using UnityWebRequest to connect to the server with a self-signed certificate
- Freeze/crash on DynamicHeapAllocator::Allocate when opening a specific project
- Text Settings Inspector sections names have no padding
- UI elements shrinking, misaligned buttons, swapped icons, or incorrect styles when rapidly cycling through Scenes in the Player
- Text field does not disappear if Ctrl+Z is pressed while editing in Viewport
Resolution Note:
This issue isn't related to the UI, but rather to the way rendering in Unity works. In general, what is displayed on the screen will be 2-4 frames (depending on the platform) behind what Unity is processing right now for performance reasons. That means that actual backbuffer size changes will take 2-4 display refreshes until they start matching the newly resized window, thus introducing visual artifacts. Even if Unity was 1 frame behind (you can't get better than 1 frame, since you can't be processing a frame that is already being displayed on the screen), this effect would still be visible for one display refresh cycle (it's possible to achieve this by setting QualitySettings.maxQueuedFrames to 1).
Since the effort required to fix this would be enormous (and even impossible on some platforms) and the fact that this issue happens only when resizing the window (which doesn't generally happen during interactive gameplay), we're closing it as "Won't Fix".