-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Describe the bug
Analyzing our package sizes between 7.1-rc1 and 7.0 stable has revealed some increases to our base package sizes, some minimal amounts can be expected from new features, but these seem more significant.
- Is this bug a regression in the toolkit? If so, what toolkit version did you last see it work:
Steps to Reproduce
Mar 16 - This is a report generated from a newly built copy of the rel/7.0.0
branch:
7-0-0.txt
Jul 23 - WinUI 2.6 Update (compare against 7.0, overall this has minimal impact on toolkit compare at this point (and includes MetadataControl
; though does show where we have bug in smoke test where WinUI is over included to projects which don't use it (CI issue only)):
WinUI26.txt
Aug 3 - Constrained Box (compare against WinUI, seems to be minimal impact):
ConstrainedBox.txt
Aug 16 - This is 7.1-preview1 from the CI we still have a copy of:
7-1-0-preview1.txt
Aug 26 - This is the RichSuggestBox PR (compare against 7.1-preview1):
RichSuggestBox.txt
Aug 27 - This is the Shadow API PR (compare against RichSuggestBox):
ShadowAPI.txt
Aug 30 - TwoPaneView ListDetailsView PR (compare against ShadowAPI, seems minimal impact):
TwoPaneView.txt
Aug 30 - And this is 7.1-RC1:
7-1-0-rc1.txt
It appears updating to WinUI 2.6 itself has caused a max increase of 50k
and a nominal/min increase of 143k
on its own, so that accounts for some of the discrepancy.
However the Primitives package as a whole has increased 500k and Input 759k!
Expected behavior
Would have expected 100-200kb increase overall for the number of controls we added.
Additional context
I did notice we're not including WinUI 2.6 right in the smoke test project so I do some differences in how the comparison is, not sure if that's being accounted for twice or something, so going to fix that and see the difference. Though that would still be only half.
It does seem comparing 7.1-preview1 to the RichSuggestBox implies it's a 263kb add which is on the heavier side. That's a bit surprising unless pulling in the whole RichEditBox
is part of that somehow, we'd have to add that to the UWPWinUIBaseline and compare...
The Shadow API seems rather minimal overall, so that one seems safe?
Experiments to Run
- Record changes over time in list above to narrow in on change period
- Adjust WinUI config in
SmokeTest.csproj
to not be included in non-WinUI based projects (this just effects raw reported number but not actual impact) - Try adding
RichEditBox
to the UWPWinUIBaseline and compare... - ???
Not sure if anyone else wants to compare above and check my numbers. Beyond Compare is working pretty good for comparison.
Probably means we should figure out how to best implement #4113 for 7.2/8.0...