-
Notifications
You must be signed in to change notification settings - Fork 6.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSIX: Performance drop on file explorer file selection #1197
Comments
@enricogior @crutkas Can you confirm that this isn't an issue that you are already aware of or that it isn't specific to my machine? |
I wasn’t aware of this issue. Lemme look at it |
What version of Windows are you on. |
Hi @arjunbalgovind |
@crutkas I'm on 18363.592. |
@arjunbalgovind |
I also have 6700K and the issue isn't difficult to reproduce. Perhaps the perf-drop is IO-bound, not CPU-bound. It's caused by very frequent PowerRenameUWPUI.exe relaunching - every time the file selection set changes. |
I should mention that on the machines that didn't show the problem I have NVMe SSDs and 32GB of ram. |
I also have nvme (which overheats though) and 64gb ram. it might also be the number of running processes etc. |
After investigating the issue, we need to select one of these options:
@crutkas how should we proceed? |
I think we need to think about a solution that will include image resized and others In The future such as #120. My gut says for 2mb, keep it in memory and for 0.16 we do a generic launcher so we can support more and then only have one item vs 3+ in memory. Thoughts? |
Having one extension registered for all modules is definitely something we should consider. |
For ImageResizer, since I am implementing the IExplorerCommand interface now to support the MSIX build I'm using the SurrogateServer, since ImageResizer doesn't have a C++ exe which can be used for the exe server. It only has the C++ dll and the .NET exe. Its still in progress but it should hopefully work. |
talking with @arunbalgovind, he mentioned a thing I missed in an earlier comment (#1197 (comment)), why is PowerRename's exe being launched each time on selection versus click? He mentioned his solution doesn't have the perf hit due to not having ImageResizer opening each time for new selection item |
Explorer needs to decide whether or not to show PowerRename context menu action on selection. It must start the Based on this comment, I'll change this behavior so the server stays in memory forever.
Surrogate COM server stays in memory as a dllhost.exe once loaded. I've observed that it also does have a performance hit the very first time while it's being loaded. |
I still think we’ll need something like #1217 moving forward for unified code base and minimize system impact |
Fix available in 0.15.0 https://github.com/microsoft/PowerToys/releases |
After installing PowerToys using the MSIX installer, the file explorer UI lags quite a bit when selecting files. It seems to occur at time and at times it doesn't, but almost always occurs on the first use after installation. Disabling PowerRename alone doesn't help either. This performance hit doesn't occur with the MSI installer for the same set of binaries.
Steps to reproduce
Expected behavior
A gif of selecting files after installation is done using the msi installer. The UI is smooth.
Actual behavior
A gif of selecting files after installation is done using the msix installer. The UI isn't smooth.
Even if the perf hit cannot be avoided in case of MSIX, the minimum change to the code should be that disabling PowerRename (and ImageResizer once its out) and any other PowerToys which use context menu handlers should reduce the perf hit.
The text was updated successfully, but these errors were encountered: