microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
110.79k stars 6.53k forks source link

Powertoys Run has noticeable input delay along with slow searches regardless of computer load #10429

Closed rsmyst closed 2 years ago

rsmyst commented 3 years ago

Microsoft PowerToys version

0.33.1

Running as admin

Yes

Utility with issue?

PowerToys Run

Other Software

None

Steps to reproduce

Set a shortcut and execute the shortcut or power toys run.

✔️ Expected Behavior

Instantly open up the search window and search for the keywords I am typing without any input lag.

❌ Actual Behavior

The run window itself takes 1-2 seconds to show up. After that, any letters typed aren't recorded smoothly. For example, while typing Chrome in the run window, C shows up a split second after I typed it, the rest of the letters don't update as I type. After a noticeable delay after typing, the rest of the letters and the results show up.
This happens regardless of what is running in the background. Even on idle this happens.

TulioAbreu commented 3 years ago

Same problem here. Relatively fine PC with ryzen 7 5800/windows on SSD/plenty RAM available and Powertoys Run still takes seconds to execute first time.

Matt249 commented 3 years ago

Same problem, even in video games I keep walking few steps depending on how many time i pressed the foward key. It was becoming more and more impacting then I stopped PowerToys and the input lag suddenly the input lag has vanished.

actualcritique commented 3 years ago

What's the update on the speed issues with PowerToys Run? There's been multiple issues submitted over time, and speed is one of the most important attributes of an application launcher. This is embarassing. Wox+Everything blew your application out of the water. With your budget, you should all be ashamed of this disaster. First load is slow, any other load may or may not be slow. Configuring the index is a nonscaling heap of garbage.

Enough with the constructive criticism with machine specs. It's been RULED OUT. Machines aren't the problem. Your dumbass software is. My machine runs cod black ops with zero lag but can't open a hover autocomplete with a list of files? what? huh?

I look forward to you either removing my comment or giving us some roundabout bullshit answer about "looking into it". this. isn't. hard. to. solve.

mykhailopylyp commented 3 years ago

@rsmyst Can you update to 0.37.2 and verify if it still happens? We expect it to persist. If it happens upload the bug report.

Right-click on the PowerToys icon in the tray menu and select Report Bug image Drag and drop report into a GitHub comment.

rsmyst commented 3 years ago

Still seems to be happening! PowerToysReport_2021-05-20-09-06-40.zip

mykhailopylyp commented 3 years ago

From logs:

Windows Search takes a lot of time. It is root cause of the issue. image

Also it looks like we have leaked PowerLaunhcer.exe process

[2021-05-19 08:50:25.054823] [p-9596] [t-9600] [info] launcher logger is initialized
[2021-05-19 08:50:25.054860] [p-9596] [t-9600] [info] Launcher object is constructing
[2021-05-19 08:50:29.182612] [p-9596] [t-9600] [info] Launcher is enabling
[2021-05-19 08:50:29.182645] [p-9596] [t-9600] [trace] Starting PowerToys Run from elevated process
[2021-05-19 08:50:29.879685] [p-9596] [t-9600] [trace] Started PowerToys Run Process. PID 13292
[2021-05-19 08:50:30.001906] [p-9596] [t-9600] [trace] Opened PowerToys Run Process. Handle 0x3f0
[2021-05-19 12:05:16.457614] [p-9596] [t-9600] [trace] Set POWER_LAUNCHER_SHARED_EVENT. Handle 0x3f0
[2021-05-19 17:03:35.090448] [p-9596] [t-8128] [info] Send settings telemetry
[2021-05-19 17:48:31.257178] [p-9820] [t-9824] [info] launcher logger is initialized
[2021-05-19 17:48:31.257332] [p-9820] [t-9824] [info] Launcher object is constructing
[2021-05-19 17:48:40.703029] [p-9820] [t-9824] [info] Launcher is enabling
[2021-05-19 17:48:40.703073] [p-9820] [t-9824] [trace] Starting PowerToys Run from elevated process
[2021-05-19 17:48:41.508202] [p-9820] [t-9824] [trace] Started PowerToys Run Process. PID 11288
[2021-05-19 17:48:41.654316] [p-9820] [t-9824] [trace] Opened PowerToys Run Process. Handle 0x4c4
[2021-05-19 18:23:01.493348] [p-9924] [t-9928] [info] launcher logger is initialized
[2021-05-19 18:23:01.493399] [p-9924] [t-9928] [info] Launcher object is constructing
[2021-05-19 18:23:05.608850] [p-9924] [t-9928] [info] Launcher is enabling
[2021-05-19 18:23:05.608883] [p-9924] [t-9928] [trace] Starting PowerToys Run from elevated process
[2021-05-19 18:23:13.078306] [p-9924] [t-9928] [trace] Started PowerToys Run Process. PID 1008
[2021-05-19 18:23:13.138946] [p-9924] [t-9928] [trace] Opened PowerToys Run Process. Handle 0x3a4
[2021-05-19 22:09:36.017344] [p-9924] [t-9928] [warning] PowerToys Run has exited unexpectedly, restarting PowerToys Run.
[2021-05-19 22:09:36.019731] [p-9924] [t-9928] [info] Launcher is enabling
[2021-05-19 22:09:36.020001] [p-9924] [t-9928] [trace] Starting PowerToys Run from elevated process
[2021-05-19 22:09:36.034460] [p-9924] [t-9928] [trace] Started PowerToys Run Process. PID 20132
[2021-05-19 22:09:36.094324] [p-9924] [t-9928] [trace] Opened PowerToys Run Process. Handle 0x740
[2021-05-19 22:09:36.094343] [p-9924] [t-9928] [trace] Set POWER_LAUNCHER_SHARED_EVENT. Handle 0x740
[2021-05-19 22:11:57.211995] [p-9924] [t-9928] [warning] PowerToys Run has exited unexpectedly, restarting PowerToys Run.
[2021-05-19 22:11:57.212008] [p-9924] [t-9928] [info] Launcher is enabling
[2021-05-19 22:11:57.212015] [p-9924] [t-9928] [trace] Starting PowerToys Run from elevated process
[2021-05-19 22:11:57.220738] [p-9924] [t-9928] [trace] Started PowerToys Run Process. PID 20316
[2021-05-19 22:11:57.278346] [p-9924] [t-9928] [trace] Opened PowerToys Run Process. Handle 0x74c
[2021-05-19 22:11:57.278366] [p-9924] [t-9928] [trace] Set POWER_LAUNCHER_SHARED_EVENT. Handle 0x74c
[2021-05-19 22:17:35.782570] [p-9924] [t-9928] [warning] PowerToys Run has exited unexpectedly, restarting PowerToys Run.
[2021-05-19 22:17:35.782588] [p-9924] [t-9928] [info] Launcher is enabling
[2021-05-19 22:17:35.782599] [p-9924] [t-9928] [trace] Starting PowerToys Run from elevated process
[2021-05-19 22:17:36.119398] [p-9924] [t-9928] [trace] Started PowerToys Run Process. PID 9320
[2021-05-19 22:17:36.180961] [p-9924] [t-9928] [trace] Opened PowerToys Run Process. Handle 0x73c
[2021-05-19 22:17:36.180984] [p-9924] [t-9928] [trace] Set POWER_LAUNCHER_SHARED_EVENT. Handle 0x73c

Finally, we have several crashes of type

System.IO.IOException: The process cannot access the file 'C:\Users\Lenovo\AppData\Local\Microsoft\PowerToys\PowerToys Run\Cache\Image.cache' because it is being used by another process.
   Source: System.Private.CoreLib
   TargetAssembly: System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
   TargetModule: System.Private.CoreLib.dll
   TargetSite: Microsoft.Win32.SafeHandles.SafeFileHandle ValidateFileHandle(Microsoft.Win32.SafeHandles.SafeFileHandle)
   at System.IO.FileStream.ValidateFileHandle(SafeFileHandle fileHandle)
   at System.IO.FileStream.CreateFileOpenHandle(FileMode mode, FileShare share, FileOptions options)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
   at System.IO.FileStream..ctor(String path, FileMode mode)
   at Wox.Infrastructure.Storage.BinaryStorage`1.Save(T data)
   at Wox.Infrastructure.Image.ImageLoader.Save()
   at Wox.PublicAPIInstance.SaveAppAllSettings()
   at PowerLauncher.App.<>c__DisplayClass20_0.<Dispose>b__0()
   at Wox.Infrastructure.Stopwatch.Normal(String message, Action action)
   at PowerLauncher.App.Dispose(Boolean disposing)
   at PowerLauncher.App.Dispose()
   at PowerLauncher.App.<RegisterExitEvents>b__15_2(Object s, SessionEndingCancelEventArgs e)
   at System.Windows.Application.OnSessionEnding(SessionEndingCancelEventArgs e)
   at System.Windows.Application.WmQueryEndSession(IntPtr lParam, IntPtr& refInt)
   at System.Windows.Application.AppFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
mykhailopylyp commented 3 years ago

@rsmyst Can you share hardware configuration? RAM, CPU, hard drive type(SSD or HDD) and capacity?

mykhailopylyp commented 3 years ago

Action items:

rsmyst commented 3 years ago

@rsmyst Can you share hardware configuration? RAM, CPU, hard drive type(SSD or HDD) and capacity?

RAM - 8gb SSD - 512gb CPU - i7-7500U (2 core, 4 thread)

rsmyst commented 3 years ago

Action items:

  • Exit PowerLauncher.exe if PowerToys.exe exits

I didn't quite understand this... Please elaborate.

mykhailopylyp commented 3 years ago

@rsmyst

I didn't quite understand this... Please elaborate.

It's an action item for us. Basically, we want to make restarting PowerToys more robust.

mykhailopylyp commented 3 years ago

@rsmyst Can you try the following steps?

rsmyst commented 3 years ago

I followed the steps but the issue remains. here's a log i made after following the steps. PowerToysReport_2021-05-20-13-29-49.zip

mykhailopylyp commented 3 years ago

From logs:

[2021-05-20 13:29:03.478911] [p-19484] [t-1060] [info] launcher logger is initialized
[2021-05-20 13:29:03.478946] [p-19484] [t-1060] [info] Launcher object is constructing
[2021-05-20 13:29:04.147198] [p-19484] [t-1060] [info] Launcher is enabling
[2021-05-20 13:29:04.147219] [p-19484] [t-1060] [trace] Starting PowerToys Run from elevated process
[2021-05-20 13:29:04.165469] [p-19484] [t-1060] [trace] Started PowerToys Run Process. PID 17676
[2021-05-20 13:29:04.223358] [p-19484] [t-1060] [trace] Opened PowerToys Run Process. Handle 0x3bc
[2021-05-20 13:29:09.762411] [p-19484] [t-1060] [warning] PowerToys Run has exited unexpectedly, restarting PowerToys Run.
[2021-05-20 13:29:09.762428] [p-19484] [t-1060] [info] Launcher is enabling
[2021-05-20 13:29:09.762447] [p-19484] [t-1060] [trace] Starting PowerToys Run from elevated process
[2021-05-20 13:29:09.777803] [p-19484] [t-1060] [trace] Started PowerToys Run Process. PID 12020
[2021-05-20 13:29:09.832203] [p-19484] [t-1060] [trace] Opened PowerToys Run Process. Handle 0x714
[2021-05-20 13:29:09.832232] [p-19484] [t-1060] [trace] Set POWER_LAUNCHER_SHARED_EVENT. Handle 0x714
[2021-05-20 13:29:17.051243] [p-19484] [t-1060] [warning] PowerToys Run has exited unexpectedly, restarting PowerToys Run.
[2021-05-20 13:29:17.051271] [p-19484] [t-1060] [info] Launcher is enabling
[2021-05-20 13:29:17.051293] [p-19484] [t-1060] [trace] Starting PowerToys Run from elevated process
[2021-05-20 13:29:17.064506] [p-19484] [t-1060] [trace] Started PowerToys Run Process. PID 11640
[2021-05-20 13:29:17.183861] [p-19484] [t-1060] [trace] Opened PowerToys Run Process. Handle 0x718
[2021-05-20 13:29:17.183897] [p-19484] [t-1060] [trace] Set POWER_LAUNCHER_SHARED_EVENT. Handle 0x718
[2021-05-20 13:29:18.923767] [p-19484] [t-1060] [warning] PowerToys Run has exited unexpectedly, restarting PowerToys Run.
[2021-05-20 13:29:18.923783] [p-19484] [t-1060] [info] Launcher is enabling
[2021-05-20 13:29:18.923796] [p-19484] [t-1060] [trace] Starting PowerToys Run from elevated process
[2021-05-20 13:29:18.955150] [p-19484] [t-1060] [trace] Started PowerToys Run Process. PID 10664
[2021-05-20 13:29:19.069214] [p-19484] [t-1060] [trace] Opened PowerToys Run Process. Handle 0x720
[2021-05-20 13:29:19.069250] [p-19484] [t-1060] [trace] Set POWER_LAUNCHER_SHARED_EVENT. Handle 0x720

Even after manually killing PowerLauncher.exe and restarting PT the module interface still doesn't have valid handle for PowerLauncher.exe.

mykhailopylyp commented 3 years ago

@rsmyst Can you report approximate CPU, Memory and Disk usage while you are typing?

enricogior commented 3 years ago

@rsmyst @mykhailopylyp check the event log: Event Viewer under Windows Logs -> Application

crutkas commented 3 years ago

@mykhailopylyp looking at the logs there, wouldn't #11213 be same based on https://github.com/microsoft/PowerToys/issues/10429#issuecomment-845277254

rsmyst commented 3 years ago

Can you report approximate CPU, Memory and Disk usage while you are typing?

Sorry for the late reply. CPU usage jumps up from 6-15% on idle to 30% when typing When using powertoys run for the first time after restarting powertoys, CPU spikes way more Disk usage remains at 2-4% throughout. So not much change there. Memory usage increases by about 200-300 mb

rsmyst commented 3 years ago

@rsmyst @mykhailopylyp check the event log: Event Viewer under Windows Logs -> Application

I didn't understand what to do here. I went through event viewer. Should I save as and export it and share it here maybe?? I tried searching for powertoys run, but nothing popped up. There's a bunch of events with powertoys on them..

mykhailopylyp commented 3 years ago

@mykhailopylyp looking at the logs there, wouldn't #11213 be same based on #10429 (comment)

This one is about slow search and in #11213 a user complains that PT Run doesn't work.

mykhailopylyp commented 3 years ago

@rsmyst Can you update to 0.41.4 and verify if the issue still persists? If it does, upload the bug report, please.

cloudrootab commented 3 years ago

@rsmyst Can you update to 0.41.4 and verify if the issue still persists? If it does, upload the bug report, please.

I'm chiming in, and also reporting that PowerToys Run (<= v0.41.4) is too slow to be a viable replacement for the ordinary Win+R. Starting it (at least first time) should be instantaneous. I've tried using it, but it fails to start in time to keep up with muscle memory (e.g. Win+R -> cmd -> enter) leads to me having to retype, since it doesn't register the first couple of letter key strokes.

Performance is in desperate need of some more lovin'. I want to use it, and think it looks quite good and modern. But the functionality is just not there (yet).

RowerToys Run Log 2021-07-06.txt

TulioAbreu commented 3 years ago

I tried it again and it's still slow compared to just not using it (just using windows built in search) or alternative software (a.k.a. keypirinha)

ghost commented 3 years ago

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 5 days. It will be closed if no further activity occurs within 5 days of this comment.

rsmyst commented 3 years ago

@rsmyst Can you update to 0.41.4 and verify if the issue still persists? If it does, upload the bug report, please.

Still there It's a tad bit better. It seems a bit smoother but still has quite a bit of input delay in many situations. PowerToysReport_2021-07-12-08-18-20.zip It also massively falls behind other alternatives in terms of speed. The appearance is very well done and modern but what's the point if it isn't snappy.

mykhailopylyp commented 3 years ago

It doesn't look like typing lags. Maybe it is slow rendering issue.

[2021-07-12 08:18:07.2623] [WARN] [S:\src\modules\launcher\PowerLauncher\Plugin\PluginManager.cs::191]
PluginManager.QueryForPlugin Program. Query cost - 58 milliseconds

[2021-07-12 08:18:10.7067] [WARN] [S:\src\modules\launcher\PowerLauncher\Plugin\PluginManager.cs::191]
PluginManager.QueryForPlugin Calculator. Query cost - 51 milliseconds
mykhailopylyp commented 3 years ago

@rsmyst Thank you for following up! Just few clarifications.

Do you see any issues with search box appearing? When you press Alt+Space does it take long to show the search box?

What is the exact behavior during typing? Is it blocked or delayed?

crutkas commented 3 years ago

@rsmyst any chance you can respond

rsmyst commented 3 years ago

@mykhailopylyp @crutkas Sorry for the extremely delayed response! After the previous reply i had actually stopped using powertoys run for a while. So anyway, currently, on V 0.45 I'm not facing any issues. It seems to have disappeared for now. Thanks for trying to clear it up. I will reopen the issue if i come across it again!

jaimecbernardo commented 3 years ago

Thanks for the feedback @rsmyst

CombeeMike commented 3 years ago

Hi there, I've been a silent follower of this thread as I'm also seeing quite noticeable input lags which did not seem to improve with recent version updates.

Here's a screencast I just took on v0.45.0 in which you can see the following things:

  1. Response times of the files plugin is quite slow numerous times (result items appear some seconds after typing stopped). E.g. when typing "wee" at ~ sec 17. Just FYI, I guess that's not the topic here.
  2. At second 25, you can see a very noticeable lag (measured 1 sec 7 ms in OpenShop). The input box "freezes" after "tog" whilst I already have typed the full word "toggle". I guess I haven't typed this exact keyword for a while now.
  3. For all other inputs, there's no noticeable lag. However, I do know for sure that some of the keywords used are also "lagging" quite frequently.

https://user-images.githubusercontent.com/30658772/135084577-22e9f913-fa44-4e66-a524-f0e08f654d9b.mp4

Basic hardware configuration

Log

Here's a log saved 6 minutes after the recording PowerToysReport_2021-09-28-13-57-07.zip

Wild guesses

Please let me know if I can give you more information!

I'd really appreciate if you could reopen this issue as I very frequently perceive PT run as being very laggy especially in comparison with other launchers (namely Launchy which I've used for a very very long time until recently)...

rsmyst commented 3 years ago

Update on the issue: not sure if this is related but powertoys run takes a ton of time to initialize after booting up pc for the first time. i've got an SSD. I even let the pc enter idle after opening all apps to check. Powertoys run just takes ~10 seconds to show up on the first time I use the hotkey. After that it's very fast though.

Also, just as the person above mentioned, typing still has some lag in it. I've come to accept that as the nature of the system though. The searching is still instantaneous but the typing alone seems to show up with a delay along with the next few characters

CombeeMike commented 3 years ago

Just FYI: I also see this very long "warm up phase" after boot/login but I didn't explicitly mention it in my post as it feels like this belongs into a dedicated ticket (which I'm not creating as that's just a minor inconvenience to me).

dougwl commented 2 years ago

Same problem here, what helps mitigate the problem (in my case, at least) is to remove certain plugins from being displayed on global results, keeping searches restricted to their respective activation keys; and to reduce how many suggestions are showed.

In addition to that, using the "Enhanced" option in 'Windows Search' settings, helps speed up the search for files and folders and reduce the rendering lag for this specific plugin, although for certain searches it still seems to lag quite a bit until it 'caches' some of the results.

After results are displayed, holding down 'backspace' will most likely lag the input, maybe because the suggestions are updated after each keystroke.

Jay-o-Way commented 2 years ago

Is this still an issue?

CombeeMike commented 2 years ago

At least I did not actively notice it for some time now. Not sure if it is gone or if I'm just used to it by now 🤷‍♂️

Jay-o-Way commented 2 years ago

There's actually a setting for it now. So I'll call this done :-)

CombeeMike commented 2 years ago

Out of interest: What setting are you referring to? Something like "don't be slow" 😅?

Jay-o-Way commented 2 years ago

PT Run > input delay

crutkas commented 2 years ago

@CombeeMike we have a new 'delay' that leverages Rx (reactive framework). it basically delays a query until a set amount of time has past since last input. This allows us to not slam things like indexer on every change.

CombeeMike commented 2 years ago

Thanks for explaining 👍