It is currently March 28th, 2024, 12:34 pm

NomFerp Plugin

Share and get help with Plugins and Addons
Post Reply
User avatar
cwfrizzell
Posts: 77
Joined: August 10th, 2009, 9:03 pm

Re: New PerfMon Plugin

Post by cwfrizzell »

jsmorley wrote:Well, it was worth a try. In Notepad++ UTF-16 is "UCS-2 Little Endian", just for future reference.

So I have no idea why it isn't working for you. Seems to work just fine for me.

3.2.0 beta r2384 64-bit (Mar 20 2015)
Windows 8.1 Pro 64-bit (build 9600)

You might try running Rainmeter "As administrator" and not, to see if there is any difference.
Thanks for the Notepad++ insight; I thought those were the same. I updated to the latest Rainmeter build (I was at the 2380 beta) and that seemed to solve the problem. FOr the record, I have Win 7 32-bit (build 7601)

Thanks again!
User avatar
Yincognito
Rainmeter Sage
Posts: 7018
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: New PerfMon Plugin

Post by Yincognito »

I have a question for ailia, the plugin developer, if he's still watching this : how much does multiple NomFerp queries influence the CPU load of this plugin?

Let me explain. I know that querying PerfMon counters is not exactly resource friendly, and this is to be expected, no issues about that. What I want to know is ... if I have, for example, less parent measures, but a lot of child measures when querying NomFerp, does that reduce the CPU load of the plugin or it stays the same as when using equal number of parent and child measures?

To be even more specific, let's say I have 2 cases :

Case 1 : 4 parent measures, each having 5 child measures attached (total : 4x5=20 measures)
Case 2 : 2 parent measures, each having 10 child measures attached (total : 2x10=20 measures)

Is Case 2 more resource friendly than Case 1, because it has only 2 parent measures compared to 4 on Case 1? Or they have the same CPU load, as they contain an equal number of total measures?

The reason I'm asking this is that I'm tweaking my skins a little bit to reduce their CPU load and I need to know how should I approach this in the NomFerp's case. I have more skins and each one of them adds to the CPU load (increasing CPU usage to +1% to +3% overall compared to when they are not loaded), so I'm trying to reduce it as much as possible (by disabling measures not used, reduce the number of measures, choosing one way of doing things over another more resource hungry, etc. on each one of my skins). And I was wondering how can I "free" some resources by correctly using NomFerp, in this case.
ailia
Posts: 34
Joined: August 6th, 2012, 9:56 pm
Location: Lurking

Re: New PerfMon Plugin

Post by ailia »

Case 2 : 2 parent measures, each having 10 child measures attached (total : 2x10=20 measures)
Case 2 is better by far, child measures are basically free, parent measures do all the "work"
User avatar
Yincognito
Rainmeter Sage
Posts: 7018
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: New PerfMon Plugin

Post by Yincognito »

Thanks a lot, ailia! I suspected that might be like that, but I needed confirmation from the man himself.

I have to say that I use perfmon counters in several of my skins + a skin based on your plugin (4 parent measures, each having 5 "children", updating once every second) to display CPU, memory, IO Read and IO Write, and to your credit, the CPU load in Task Manager stays at 0% (except of course, the startup/loading moment, but that's natural).

Actually, other skins need optimization, the one based on NomFerp is excellent as it is and doesn't cause CPU spikes. Good to know users would be able to increase the number of processes being shown without having to worry about the CPU load. Not being limited to CPU/memory counters, like in the old Processes plugin, is a huge plus also. Great work!
User avatar
Yincognito
Rainmeter Sage
Posts: 7018
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: New PerfMon Plugin

Post by Yincognito »

I didn't see this on the topic, so I'll just confirm - if you don't know that by now, of course - NomFerp works fine on Windows XP SP2 64-bit.
Works on Win XP SP3! 8-)

Changed counter name: 'Working Set - Private' to 'Private Bytes'

Thanks ailia!
One note here though : from what I noticed, 'Private Bytes' do not correspond to what Task Manager is reporting. So my suggestion is to use 'Working Set', as from what I've seen, the numbers match with what Task Manager reports, in Windows XP's case. That is, if you want the numbers to match those in Task Manager. If you don't, then you might use whatever you like.

A good thing to do in a NomFerp skin, if you want to display memory usage for processes irrespective of the OS, is to have a check for OS version (using SysInfo, for example) and then choose whether to use 'Working Set - Private' (OS>Vista) or 'Working Set' (OS=Win XP). At least that's what I did.
User avatar
Yincognito
Rainmeter Sage
Posts: 7018
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: New PerfMon Plugin

Post by Yincognito »

Several questions for ailia:

1. When Category option is not specified in the parent measures, it is assumed that Category=Process? Or does the plugin perform a search for the counter specified in the Order option from the parent measure to determine the respective category?

2. Related to that : does specifying the category (even if not required in certain cases) have a performance hit or it doesn't matter as in those cases it is optional? For example, when querying the processes CPU usage, specifying a Category option is not required (as seen in your example skin), but if I want to include that for the sake of having all the possible options written, does that make any difference or not? My guess is that it won't, but just wanted to be sure.

3. Is it possible to specify a different Order in the parent measures, other than the name of a perfmon counter? For example, is it possible to sort a NomFerp parent measure by name?

4. Related to that, in a way : is there any possibility to filter names of instances by using wildcards (* for example) or using RegEx? Or better : is there any way to include names of instances rather than excluding (aka filtering) them?
ailia
Posts: 34
Joined: August 6th, 2012, 9:56 pm
Location: Lurking

Re: New PerfMon Plugin

Post by ailia »

1. Yep, defaults to process.

2. Nope, it has to look up whatever category is specified regardless, even if that category is the default.

3. Sadly name sort isn't currently supported, had started on it, but I couldn't find a main use case for it so it remains unfinished and disabled.

4. No support for a whitelist approach currently, custom filter RegEx would be pretty easy to add though since its already using one to purge the instance #s for sorting.
User avatar
Yincognito
Rainmeter Sage
Posts: 7018
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: New PerfMon Plugin

Post by Yincognito »

Thank you for the answer, ailia. You might then want to consider adding that RegEx feature to the Filter= option, if that is easily achievable - that would eliminate the need for a whitelist, as one could use the negated RegEx abilities to achieve the desired result.

Of course, if you want it, have time for it, etc. But it would certainly enhance your plugins capabilities even more.

P.S. All the above came to my mind after reading throughly this :
ailia wrote:The main things that make this different from the built-in perfmon plugin are sorting, being able to query instances by index rather than name, and not incurring a performance hit for reading more than one value per update
So I thought I could replace all the PerfMon plugin queries in my skins with NomFerp ones, to maybe optimize them even more. For that to work though, a workable way to include/order NomFerp queries by the name of the instance was necessary. The implementation of a RegEx filter would make that possible (the include thing, as explained above).
ailia
Posts: 34
Joined: August 6th, 2012, 9:56 pm
Location: Lurking

Re: New PerfMon Plugin

Post by ailia »

Ah yes, the "replace the perfmon plugin" use case. NomFerp isn't really meant to do that, however I did start working on a separate plugin that covers that exact usage, works exactly the same as the default plugin except with additional no-cost child measures. Just haven't bothered to finish it due to lack of interest in NomFerp.
User avatar
Yincognito
Rainmeter Sage
Posts: 7018
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: New PerfMon Plugin

Post by Yincognito »

That's unfortunate. I think it has to do with the fact that most people prefer doing things the easy way, instead of the most efficient way. So they want some simple measures to show them the CPU, Memory usage and some other straightforward things in a nice way instead of bothering with more complex things, available in more "sophisticated" plugins. It's a wicked world, sometimes good looking things take precedence over more elaborated and more reliable things - it's not the first time I notice that...

Other than that, I think it has to do with the fact that currently there are not many skins that actually use your plugin. The more skins use a plugin, the more used and searched for is that plugin - that's my impression, at least.

Plus, there's the fact that most of the computer stats are available without using Windows PerfMon capabilities at all. Those PerfMon capabilities are essential in some specific cases. For example, before using Rainmeter, I wasn't actually quite aware of PerfMon or WMI...

But you shouldn't be discouraged - good things were always used and appreciated by few at the beginning. Think television, computers, the internet : they all started slow, gaining momentum over time. So I expect 10 years from now, 1 in 10 Windows computer would use your NomFerp plugin in Rainmeter ;-)

P.S. I take a different approach in my projects : I always start them to suit my needs first and foremost and then, if others like them or use them, great. If not, at least I'm happy as they made my tasks easier/more efficient/etc. That way I'm never really bothered by "the reception" they get. But then...that's just me. Others need to feel appreciated more...
Post Reply