ramensoftware / windhawk

The customization marketplace for Windows programs: https://windhawk.net/
https://windhawk.net
GNU General Public License v3.0
1.79k stars 56 forks source link

Stop windhawk nedlessly hammering the harddisk and the registry. #218

Closed pwill closed 2 months ago

pwill commented 2 months ago

Windhawk is constantly every 5 seconds creating files, closing files, notifychangedirectory, regopenkey, infokey, queryvalue,querynetworkinformation and so on. Please make a way to make windhawk be quiet when doing nothing... it even spams the commands when i don't touch anything on my computer. It does execute a lot of commands every 5 seconds. And in between the VSCodium also wakes up and does things every x seconds. Like 11 times NotifyChangeDirectory "C:\ProgramData\Windhawk\Engine\ModsWritable\mod-task"

Is there really a need to execute about 34 commands every 5 seconds and doing much of the commands multiple times? (like the 11 notifychangedirectory in the same folder, the 6 regqueryvalue on the same key, the 3 querydirectory in the same directory, the 2 createfile in the same file and so on?) I would rather have windhawk doing nothing at all (maybe optional if i don't want it to scan a mod folder constantly), and be quiet and resource conserving, especially on a laptop on the road, where it constantly wakes up the CPU even when doing nothing.) windhawk

m417z commented 2 months ago

Windhawk is constantly every 5 seconds creating files, closing files, notifychangedirectory, regopenkey, infokey, queryvalue,querynetworkinformation and so on.

I see similar activity when a process is created. Definitely not every 5 seconds. Windhawk watches the mod-task folder for mod activity, and shows a dialog if a task, such as an initialization, takes too long. Right now, it can't be disabled. There's some opportunity for optimization, I'll look at improving it.

I'd start by looking what triggers it so often on your computer. Try looking at processes that are created on your computer.

And in between the VSCodium also wakes up and does things every x seconds.

VSCodium is developed by Microsoft, and I don't plan on optimizing it. It's part of the Windhawk UI, and you shouldn't have it running most of the time, so I think that it's less of a concern.

Is there really a need to execute about 34 commands every 5 seconds and doing much of the commands multiple times? (like the 11 notifychangedirectory in the same folder

It gets notified about 11 events, which I assume is your amount of mods.

the 6 regqueryvalue on the same key, the 3 querydirectory in the same directory, the 2 createfile in the same file and so on?)

These are low level operations, and most of them are done implicitly by the OS as part of a larger operation. I don't see anything wrong with that.

I would rather have windhawk doing nothing at all

Well, it must do something, that's why you installed it, right?

and be quiet and resource conserving

I'm all for optimizations, and I have some ideas for improvement, but do you have any data besides the procmon activity that indicates that Windhawk is not resource conserving? For example, have you looked at the activity of explorer.exe in procmon? I think you'd be much more concerned.

m417z commented 2 months ago

Windhawk activity on new process creation was optimized in v1.5.