SilverAzide / Gadgets

Gadgets for Rainmeter
Other
362 stars 12 forks source link

Some of the gadgets cause massive input lag with Multiplicity #7

Closed David-Everlasting-Media closed 4 years ago

David-Everlasting-Media commented 4 years ago

So to be more precise, the gadget that causes the most lag is the calendar (with day) widget. When this specific widget is active it causes significant delay with a secondary machine on a Multiplicity KM (Stardock product)

When I have the all CPU widget AND the calendar widget going, the secondary computer is all but unusable. We think this has something to do with checking the core count too frequently, as well as the calendar checking the day too frequently. Something along those lines.

The specs for this machine are CPU: AMD Ryzen TR 3990x (64 cores) RAM: Corsair Vengeance 3200 Mhz (256gb) OS Drive: WD 2TB nvme M.2 SSD OS: Win 10 Pro 64bit Motherboard: Aorus TRX40 Master GPU: EVGA RTX 2080 TI FTW3 Ultra Gaming

Other software tested / compared lag when task killed / exited Windowblinds iCue Skype Unity Hub Wallpaper Engine Steam Origin Epic CCleaner Adobe Creative Cloud

None of the above software had any affect up or down when running or not.

At one point the only 2 things I had running (other than vanilla Windows services) was Multiplicity and Rainmeter, and I still incurred a lot of lag.

I alternated and other skins do create some input delay depending on what they do. For instance audio visualizers tend to cause some...But still not as much as that calendar gadget.

I appreciate the work you're doing and the time it takes to improve this. Thank you.

Any help you can be with this would be greatly appreciated.

SilverAzide commented 4 years ago

Wow, the Calendar is causing a lag? That's the most minimal skin there is. Something has gone wrong; it is probably stuck in a configuration loop caused by a PowerShell problem. Unload the skin, then check the following items:

After these items are corrected, reload the skin. If both of these variables are already non-blank, check the About Log to see if there are any messages. The Calendar should only be using the tiniest of resources, there is almost nothing to this skin.

DIGIN4 commented 4 years ago

Hi, the Drives Meter skin is causing lag for me too, as soon as I unload it, the other skins (such as monstercat-visualizer) runs smoothly again, it causes even more lag if there's a file transfer.

Using v5.5.1 and Rainmeter 4.4.0.3400 beta on Windows 10 2004.

Edit: it doesn't always happen.

SilverAzide commented 4 years ago

Hi DIGIN4. OK, the Drives Meter has not changed in nearly two years (v5.0.0); this version added a feature that shows "session read/write" usage. This change did add 52 new UsageMonitor measures, but they are only active if you have the "Show Total Bytes Read/Written" option checked AND you have the drive letter for that drive checked.

I would suggest the following actions: uncheck as many drives as practical for your system and uncheck that "session read/write" option. Next, if you are using HWiNFO (for anything), I would suggest going into the settings and turn off monitoring of all hard drives. Turning these HWiNFO options on causes it to ping every drive once per second (you can hear it if you have a noisy mechanical drive, you hear the drives "tick" every second even if the drive is totally idle). To disable monitoring, on the HWiNFO sensors screen, scroll down to the drive and right-click, then select "Disable monitoring". Let me know if this changes anything. Also I've seen that Raiguard's Modern Gadgets users have reported similar performance issues with their Drives Meter skins and that skin uses less measures, I believe, and only does 10 drives max unless he tweaked it again.

I have 7 active hard drives and another 10 Gadget skins active, and my Rainmeter CPU usage is ~1%-1.5% on an old i7 machine.

DIGIN4 commented 4 years ago

Hi, I followed your suggestions but the issue remains, though not all the time:

Another thing I noticed is when the memory card reader is plugged in without any transfer happening it lags a bit, but much less compared to when there's a transfer going on.

BTW I have 3 internal drives, 1x NVMe SSD, 1x SATA SSD, 1x SATA HDD.

EDIT: The card reader uses 4 drive letters, disabling all of them stops the lag.

SilverAzide commented 4 years ago

OK, one more question for you: Does the lag happen if you don't enable monitoring of the external USB drives? In other words, uncheck either or both of the USB drives in the Settings?

DIGIN4 commented 4 years ago

I just tested again and yes it happens too but to a less extent, it's also happening when I'm copying from the card reader to internal HDD, even with both drive letters being not monitored.

It's only happening with USB card readers (I tested another USB 2.0 MicroSD reader that causes lag too) other external HDDs / SSDs / USB sticks cause no lag.

Another weird thing is that if I connect a memory stick instead of a MicroSD card the lag stops.

DIGIN4 commented 4 years ago

More weirdness: not all MicroSDs cause lag, only those formatted for Raspberry Pi (has multiple partitions formatted as a combination of FAT and ext4)

EDIT: I think I found the issue, if the drive letter on the card reader belonging to a Linux partition (ext4) is being monitored, the lag happens, can't change the drive letter without formatting the partition.

SilverAzide commented 4 years ago

Hmm... Well, this seems to me to be partly a Windows issue, and not directly a Rainmeter issue. The skin is polling the drives using the built-in Rainmeter FreeDiskSpace and UsageMonitor measures, which may be contributing to the problem, but there is absolutely nothing I can do about this. Perhaps one or both of these measures is causing some sort of wait state to be introduced, where the polling interrupts what the drive (or driver) is doing. The only solution would seem to be to turn off monitoring of the specific drives, though from what you are saying, it seems that ANY polling of ANY drive causes some degree of lag. I think the next beta version of Rainmeter will have updated UsageMonitor code, based on what I see in the forums, but it is for a different issue so it may not fix this particular problem.

I'm going to go ahead and close this issue since I can't do anything about it. The original issue was about the Calendar and since the OP hasn't responded I'm assuming it's either fixed or he's lost interest.

DIGIN4 commented 4 years ago

it seems that ANY polling of ANY drive causes some degree of lag

Not any, only partitions that are formatted for Linux (mentioned in my edit) maybe any filesystem type that isn't supported by Windows, it keeps trying to read but it fails and causes a loop? Anyway thanks for the help, I'll make a thread on Rainmeter's forum.

SilverAzide commented 4 years ago

OK, great! I can change some of the FreeDiskSpace measures to UsageMonitor (which is newer code and may be more asynchronous), but I can't change all of them. There are two FreeDiskSpace measures (one that gets the drive label and another that gets the drive type/status) that aren't possible to convert to UsageMonitor. Not sure if this will help any, tho...