View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0018338 | MMW 5 | Other | public | 2021-09-23 09:19 | 2021-11-05 01:24 |
Reporter | Ludek | Assigned To | |||
Priority | urgent | Severity | major | Reproducibility | always |
Status | closed | Resolution | reopened | ||
Product Version | 5.0 | ||||
Target Version | 5.0.2 | Fixed in Version | 5.0.2 | ||
Summary | 0018338: Major 'layout shifting' performance leak on MM startup | ||||
Description | As discussed over IM and debugging startup performance leaks, there is major layout shifting during startup (as can be seen on this profile: https://www.dropbox.com/s/8ifipbz4jam7180/Screenshot%202021-09-23%2011.16.21.png?dl=0 ) | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
Fixed in build | 2506 | ||||
|
By studing our code we already use window.deferredNotifyLayoutChangeDown variant, but the problem is that it is fired with every frame, so still too often during startup layout inititalizations. Maybe we could near after startup (say 2 seconds) replace the 'requestFrame' in deferredNotifyLayoutChangeDown by 'requestTimeout(..., 1000) ' to be sure that it won't be called more than twice during first two seconds after startup ? Assigned to Draki to try and test how it helps and how it works then. |
|
Improved in 2506, but there is still opportunity for more optimization. For example, the setAutoWidth method of dropdown.js takes upwards of 5ms to execute for each dropdown, which adds up when there's a lot of dropdowns to load. |
|
Modified dropdown.js to not fire the setAutoWidth on a timer during window load. Assigning to Ludek for unit testing to make sure it doesn't introduce a regression. |
|
As discussed offline, Jordan's changes in ListView causes "max call stack size exceeded" regression on MM5 start. Needs to be fixed ASAP or reverted. => Fixed in 2506 |
|
Modified Jordan's code in Dropdown.js slightly + run unit tests (all passed). |
|
Revision 38599 caused, that grids (Albums, Artists) are not displayed correctly after changing size of app window. |
|
Fixed in 2506 |
|
Verified 2507 Unable to replicate described behavior? |
|
Re verified 2515 No regerssions found. Closing. |