Open myth384 opened 4 months ago
I'm trying to convince our team for choosing AvaloniaUI to replace WinForms for modernising our Windows (only) applications. As we need to host several DevExpress WPF controls, this issue makes convincing the team quite the challenge... As I really think AvaloniaUI is our way forward, I'm eager to assist in fixing this issue in my spare time. If anyone could give me some pointers for how to perform a diagnosis of the extension while running, it would really help me out.
I don't think I can use these DevExpress packages without having their licensed nuget feed used.
Error NU1101 Unable to find package DevExpress.Images. No packages exist with this id in source(s): C:\Program Files\dotnet\library-packs, Microsoft Visual Studio Offline Packages, nuget-feed-all.avaloniaui.net, nuget.org WpfLibrary1 E:\Work\Projects\TrashBin\avavs\WpfLibrary1\WpfLibrary1.csproj 1
Do you have another repro that can be used with public nugets?
Hi Max, thanks for your response. I am currently testing against a 30 day trial license as we don't have a license for their WPF controls yet. Is registering for a trial license an option for you as well? After registering you'll get access to a unique public trial feed or you could install the packages locally through an installer: https://www.devexpress.com/products/try/
DevExpress has no Avalonia controls
I understand that, we need to host some WPF DevExpress controls inside AvaloniaUI Windows. I should have explained that in my issue. Hosting a DevExpress control works perfectly fine when executing aan AvaloniaUI application. The problem is that just referencing the DevExpress libraries, without actually using it in my own code, is enough to observe the reported behaviour with the previewer..
That's a 2GB of ModuleDefMD from dnLib
After that PR plugin still consumers lots of memory and CPU while trying to process DevExpress libraries as potential metadata candidate for XAML competition. But at least it should free this memory after metadata was already collected (i.e. once per each opened project).
I just gave the VSIX from the PR a try and I can confirm the fix is indeed a big improvement! I could not count for much support from my team with Visual Studio continuously crashing. Thanks a lot for your timely actions! Are you planning the resolve the memory and CPU consumption in a later fix?
@myth384 unfortunately, I am not able to spend much more time on improving AvaloniaVS performance, as I already checked low hanging fruits. Especially since it's pretty uncommon use case to use such heavy control libraries with Avalonia. You can contact our support team, if you want to make it a higher priority though.
About AvaloniaVS release cycle, we planned to do a release once 11.1 stable is ready. But I will see if we can do a minor release earlier. Either way - this vsix package should be available to download for a month at least, and if needed, I can trigger a new build.
No worries at all, @maxkatz6, I understand it completely. Your low hanging fruit picking is much appreciated already! What important is, that a road block has been lifted for us. If we're indeed going to implement AvaloniaUI into our products, I will try my best to advocate supporting Avalonia.
Describe the bug
After referencing a WPF project with a few references to DevExpress libraries, Visual Studio 2022 encounters high CPU and memory usage when utilizing the XAML Previewer. This eventually leads to Visual Studio crashing due to memory overload. However, after unloading the Avalonia Extension, this issue no longer persists.
To Reproduce
AvaloniaVS plugin version
11.5
Avalonia version
11.0.10
Visual Studio version
17.9.2
Relevant log output
Additional context
After closing the solution, high memory usage persists.