rxtd wrote: ↑November 18th, 2018, 9:51 pm
Youkai1977, UsageMonitor has different number and string values. Most of the other measures have same number and string values, or only have meaningful string value.
When you use old PerfMon plugin in the place where a string value is expected, you will get numbers. Because string value of the PerfMon plugin is the same, as its number value.
When you use UsageMonitor plugin in the place where a string value is expected, you will its string value, which is the name of the instance.
In case of String meter you need to do something to make it show number value. For example:
1) Use Calc measure which will extract number value from UsageMonitor, and set its value to this number. Calc measures have same number and string values.
2) Use [DiskAccess_C_R:] form of the access to a measure, with DynamicVariables enabled. Notice the colon: [DiskAccess_C_R:].
Not all measures/meters will access string value of a measure. Calc measure, as you already know, uses number value. Bar, Line, and some other meters/measures will also get number value. So you don't need to always use Calc. You only need it if you don't want to use dynamic variables or want to pass number value of UsageMonitor to a place, where string value is used (like in MeasureName=somemeasure in String meter).
Someone got it, Thank you!
Yeah the way UsageMonitor works was very intentional. Mind you to get the String and Number value before you would have had to have done two measures and the second measure was just as expensive as the first (With the exception of NomFerp which if you used parent children the it would be slightly less expensive). The only reason you need a calc is if you do any manipulation to the number (Such as rounding or trimming it). When I was building the plugin I talked with jsmorley about adding the ability for scaling for inline measure's number access and we agreed that was a bad idea.
tjhrulz wrote: ↑November 21st, 2018, 5:13 amMind you to get the String and Number value before you would have had to have done two measures and the second measure was just as expensive as the first (With the exception of NomFerp which if you used parent children the it would be slightly less expensive).
Actually, I think that with parent/child approach declaring one more child measure is pretty cheap. It's not "slightly less expensive", it's roughly as declaring empty measure. Especially cheap when using index to get value, but accessed names of the instances can be cached, so they are cheap too. And result string value could be controlled with an option, just as it's done in PerfMonPHD and PerfMonRxtd plugins.
rxtd wrote: ↑November 21st, 2018, 5:38 amActually, I think that with parent/child approach declaring one more child measure is pretty cheap. It's not "slightly less expensive", it's roughly as declaring empty measure. Especially cheap when using index to get value, but accessed names of the instances can be cached, so they are cheap too. And result string value could be controlled with an option, just as it's done in PerfMonPHD and PerfMonRxtd plugins.
I was refering to NomFerp specifically in that regard, although slightly is understating it as going from a 300ms hit to a 15ms hit is a big one. But that is still 14ms+ more than UsageMonitor.
Sorry that I have not responded to your response from 18 September. At the moment I'm pretty busy in my family. Anyway, I'm still looking at the thing with the UsageMonitor and rewrite my meters accordingly. However, the thing about translating me makes a lot of problems. The Google Translator is not always very helpful ... there are sometimes sentences around, because then I understand nothing more. Say I need time. The thing that helps me best is code snippets or code examples. Why then what is as it is, is rather secondary to me. It should only work ...
- Win11 Pro x64 (23H2 - 22631.3085)
- Rainmeter 4.5.18
- Gigabyte B550i AORUS Pro AX V1.2
- Corsair Venegeance LPX 2x 16GB (32GB) DDR4 3200MHz
- RYZEN 7 5800X
- PowerColor RX570 8GB
- Samsung 980Pro 250GB (NVMe) - Drive C: Windows
- Kingston SNV2S1000G (NVMe) - Drive D: Rainmeter, Skins & Others - Drive D: Games
- NAS Synology DS216j - 2x 1GB HDDs - My Main Backup & Data Storage in my Home-Network
- Mon 1: 24" HP 24f (1920 x 1080 @ 75Hz) - Primary
- Mon 2: 22" Philips 226VL (1920 x 1080 @ 60Hz) - Secondary 1
- Mon 3: 50" Philips 50PUS7304/12 (3840 x 2160 @ 60Hz) - Secondary 2
- Corsair CX 650M Power Supply
- NZXT H210 Case
- ISP Vodafone with 1000/50 Mbit Cable Internet
The absolutly High-End Machine on 2024 ... at least the graphics card
Win10x64 (v.1803)
Rainmeter 4.3.0.3266b x64 (deleted the NomFerp plugin, let only UsageMonitor, as recommended by jsmorley)
Is it normal for processes to "dissapear" (i.e. not have a process name) in both the visual Rainmeter log and my skin, when the numerical value of the counter is 0? I ask it because it happened to me in both this Rainmeter version and in the 4.3.0.3260 x64 one (much more often in the latter though). My code is something like this (simplified version - disregard the odd or specific stuff in the code, it's just displaying the top 5 CPU processes in the tooltip, basically):
Note: If it matters, aside from the "standard" plugins included with Rainmeter (e.g. PerfMon plugin present, but skins using it unloaded), I use the MSIAfterburner 2.0.0.0 plugin. I even unloaded all the skins and left only this one, and the "dissapearing" behavior still happens...
You do not have the required permissions to view the files attached to this post.
Note: Any Index which returns a current value of 0 will return an empty string as the string value. An instance without a value can't be sorted, and can't exist in this indexed list, as it is indistinguishable from all other instances that are 0.