It is currently March 28th, 2024, 2:02 pm

Simple Perf Meters 2.3.0 - now with 4 Clocks and All-in-One

A package of skins with a "theme" or by a single author
TGonZo
Posts: 68
Joined: April 25th, 2015, 8:19 pm
Location: Virginia

Simple Perf Meters 2.3.0 - now with 4 Clocks and All-in-One

Post by TGonZo »

SimplePerfMeters_2.3.0.jpg
Download from my deviantart page: http://tgonz0.deviantart.com/


Hi all,

-------------
UPDATE 2.3.0 - 2015-04-12: There is now an All-in-One meter that has CPU usage, RAM usage, PageFaults/sec, PageFile usage, Disk Bytes/sec, and Net IO in Bits or Bytes. It show 4 minutes of data. I added this to help me troubleshoot issues in programs when I cannot look at the meters. I also added TimeZones and DST to the Clock, and add more clocks for a total of 4. I needed to have my time and the TimeZone from a couple other parts of the world for work.

If upgrading from 2.2.0 to 2.3.0 and you want to keep your old settings files, backup these files and copy them back after you upgrade, and refresh all the skins. That should keep most all of your settings from before. Each GPU has it's own settings file. Restore which ever ones you are using.
SimplePerfMeters\ @ Resources\globalsettings.inc
SimplePerfMeters\ @ Resources\HWiNFO.inc
SimplePerfMeters\GPU0\GPUsettings.inc

Since I added more clocks to the globalsettings.inc file, if you restore the previous version of the file, you may want to copy the Clock variables from the new globalsettings.inc to your restored file. Not a big deal if you don't, the settings for each clock will not have default values. Just make sure to set some value in each Clock that you use.

-------------------
These are Simple Performance monitoring meters (and a couple of extras) that I wanted for my own use. At this time, they are simple but provide enough information so I can see if my system is running normally. I think I am just about done adding new things. This became way bigger that I thought it would, but they are all useful. I'll fix any bugs as best I can, and I am trying to slow down on changes to this skin.

There are several clickable locations on the meters. Clicking on any Histogram will start up the Performance Resource monitor. The idea is, you see a meter with high activity, click it to get quick access to the Resource monitor so you can investigate why it is happening.

There are 4 variants of the CPUmem Meter. The original no Temps, and 3 with Temp versions.
CPUmem.ini - the original meter with no Temps, no CPU fan.
CPUmemTemp1.ini - only displays 1 Temp, if you don't want to see every core. CPU fan rpm. Requires HWiNFO.
CPUmemTemp1nocores.ini - only displays 1 Temp, and no individual cores, only the Average CPU usage.
CPUmemTemp1to1.ini - This is more for AMD processors that have 1 core per Temp sensor. CPU fan rpm. Requires HWiNFO.
CPUmemTemp2to1.ini - This is for most Intel processors that have 2 threads per Temp sensor. CPU fan rpm. Requires HWiNFO.

Use the Settings skin to fill in the correct Temp sensor IDs for you system. Click the HWiNFO icon to start up the Shared Memory Viewer. You must already have HWiNFO installed and running before you can setup the IDs. Each CPU skin with temps will only use the fist of the temp Cores listed. Meaning the skin with only 1 temp will only use Temp Core 0. The other Temp skins will use however many cores you have. You only need to fill in what you plan on using.

All-in-One meter. I added this mostly for troubleshooting to save 4 minutes of data while I am using full screen programs. Some may choose to use this instead of some of the other meters. I only run this one when I want to see the last 4 minutes of data all in sync. There are 1 minute time lines to help show when the data spike occurred.

GPU meter added. In the GPU settings skin, I provided the SensorID and Instance for each sensor EntryID. I found on one of my GPU that HWiNFO placed a couple of sensors under a different SensorID. So, this seemed the best way to make sure everyone can enter the sensor IDs they have. Make sure all information is correct for each sensor.

AMD GPU settings.
After researching the AMD GPU and HWiNFO and DirectX APIs, it seems like AMD and D3D APIs do not provide a good way to determine the accurate GPU memory total and used MB. So, I added some new GPU settings that will allow you to get closer to a correct meter of memory used, not completely correct, but closer to being correct. Select the AMD box and type in the max memory your card has. Then choose the D3D Dedicated memory used HWiNFO sensor. That does not show all the memory used, but that is as close as you will get for the Memory meter with AMD cards.
The nVidia settings should continue to work properly for nVidia cards.
I believe Intel integrated graphics also does not have the correct settings in HWiNFO to get a correct display for memory used.
So, it seems Intel and AMD did not add the extra memory data points in their drivers, so HWiNFO cannot get access to correct memory used. And nVidia has provided this data in their drivers.

If you change the Temperature Units from C to F and back in HWiNFO, all the temps in all the skins will change with the appropriate Units.

I did my best to make Settings skins so you would not have to edit the HWiNFO.inc file by hand. You can still do that if you like, but the Settings skins should be enough to make it all work.

Any issues getting HWiNFO to run on your system, please visit the HWiNFO site and check there forums for help. http://www.hwinfo.com/


All in One
  • click * in upper right corner to open the Settings to change scale of meters, now auto-hides
    All meters display 4 minutes of data, with 1 minute marker lines
    Uptime
    CPU Usage
    RAM usage
    PageFaults/sec
    PageFile usage
    Disk Bytes/sec (Read and Write combine), currently C: only
    Net IO (In and Out combine) Bits or Bytes follows the Network meter settings
    scalable size
CPUmem Meter
  • click * in upper right of the CPUmem to open the settings to change scale of meters, now auto-hides
    Histogram of average CPU usage
    tooltip of CPU model when mouse over "CPU usage" string
    Bars of average and per thread CPU usage
    CPU temperatures, 4 variants (no temps, only 1 core, 1 core per temp, 2 threads per temp) (req HWiNFO) *New*
    CPU speed in MHz, it may change to show current speed
    click CPU/TASK to start the Task Manager
    click RAM/SYS to open the Control Panel -> System information page
    click P/F to open the window where you can change your Page File
    the CPU bar meters will automatically show only the number of CPUs you have up to 12
    Memory size and usage, tooltip to show available mem
    Pages/sec is when memory allocation went to disk, which slows the system
    P/F Page File size and usage
    scalable size
Simple Perf Meter Settings
  • click X in upper right corner to close
    click the bar to change the scaling factor from 1x to 2x in size
    set Background Color for all meters
    Sensor ID input for the Temperature readings
    CPU fan Sensor IDs, with display on/off switch
    CPU Mhz Sensor IDs, choose from HWiNFO or from PerfMon, red block = selected
Network Meter
  • click * in upper right corner to open the Network Settings, use this if your Internal IP display is not correct, auto-hides
    click Ext/Int IP address to open the Network and Sharing Center
    Network Upload/Download graphs in Bits or Bytes
    scalable size
Network Settings
  • click X in upper right corner to open to close
    this will show up to 6 network interfaces and the IP address assigned to them
    click the IP address to set that as the displayed Internal IP
    Selectable Bits or Bytes
Disk Meter
  • click the Drive Letter to open a Windows Explorer to that drive
    click the drive size to open the Restore Point configuration
    click Percent Used number to open the Disk Cleanup utility to that drive, tooltip shows available space
    the Center Yellow bar is also space used
    Read/Write graphs in Bytes
    Drive temperature from HWiNFO, can be turned on/off in the Disk settings
    scalable size
Disk Settings
  • click X in upper right corner to close
    Type in any drive letter for each of the 8 disks
    turn the temps on/off
    enter the associated S.M.A.R.T. temperature sensor IDs to the correct Windows Drive letter
Clock Meter
  • click * in upper right corner to open the Clock Settings, auto-hides
    You can now have 4 clocks running in different TimeZones
    Time on top, with seconds as a thin bar just below the time
    click Time to open the Windows clock settings
    click Month to open a browser link to the current Month
    click Year to open a browser link to the current Year
    in 12 hour mode, the : will be bright for AM, and dim for PM
    added Locale for Month and Day of Week, change in settings, "Local" will use your Windows Locale
    scalable size
Clock Settings
  • click X in upper right corner to close
    Each clock has it's own settings
    TimeZone is only set by number offset from GMT, 0, -5, -9, 5.5, etc (sorry, that is how Rainmeter allows this)
    If the TimeZone is set to Local, it will use your computers TimeZone and DST settings.
    Label is only displayed (at the top) if you type something, anything you like, city, timezone, etc.
    DST Daylight Savings Time on/off
    Select 12 hour or 24 hour
    Locale setting, Local, en-US, de-DE, fr-FR, it-IT, es-ES, etc. It changes the Month and Day of Week.
Volume Meter
  • click the volume percent number at the top to open Windows sound settings
    click anywhere on the volume bar to set volume
    scroll wheel also changes volume
    click mute to toggle mute
    scalable size
Weather Meter
  • click * in upper right corner to open the Weather Settings
    click the Temperature to open the forecast
    click the City name to open a web browser to that city at weather.com
    click Radar to open a web browser to that city's radar at weather.com
    data is from weather.com
    scalable size
Weather Settings
  • click X in upper right corner to close
    Standard / Metric
    Web Update Rate, 300 seconds (5 minutes) seems to work pretty good
    Locale setting, en_US, de_DE, fr_FR, it_IT, es_ES, etc. It changes a couple of fields from the data stream.
    type in your city, st, country and hit enter, click a new Location ID number to set it
GPU Meter
  • Requires HWiNFO running with Shared Memory access enabled
    Display Graphics card model
    GPU load and graph, also has Core Clock speed
    GPU temperature and graph, also has Fan speed in rpm or % of operation
    Temp graph is 0-100 C or 0-212 F. Change C/F in HWiNFO settings.
    GPU memory used and graph, and displays the total memory on the card
GPU Settings
  • HWiNFO needs to be installed and running first
    HWiNFO icon to start up the Shared Memory Viewer to find the IDs for your system
    Fill in the sensor ID information from the Shared Memory Viewer
    Pick if you want Fan rpm or % of Fan operation to be displayed, or turn it off
    Choose nVidia or AMD setting for GPU memory histogram

These HWiNFO sensors seem to work the best for nVidia and AMD cards, as noted below.

HWiNFO - GPU Memory Usage (%) <-- use this for: GPU0 NV
HWiNFO - GPU D3D Usage (%)

HWiNFO - GPU Memory Allocated (MB) <-- use this for: GPU0 NV
HWiNFO - GPU D3D Memory Dedicated (MB) <-- use for: GPU0 AMD
HWiNFO - GPU D3D Memory Dynamic (MB)


On all Histogram meters, the number on the left is the current sample and the number on the right is the scale of the Histogram.

Internal IP address. It seems the plugin that gets the Internal IP address works well most of the time. If it does not, you can choose the IP from a list that your system currently has configured in the Network Settings.

Background color. I set the default to black and is mostly transparent. (0,0,0,100) That way some color from your wallpaper would show through. If you have a very light or very dark wallpaper, and want a more solid color similar to the blue in my cover image, try using 0,50,100,240. That works good with all the other colors I used in the skins.

FYI, I made these on my Windows 7 system, and I've been told by others that it works well in Windows 10.

Enjoy.
------------------
UPDATE 2.3.0 - 2015-04-12: There is now an All-in-One meter that has CPU usage, RAM usage, PageFaults/sec, PageFile usage, Disk Bytes/sec, and Net IO in Bits or Bytes. It show 4 minutes of data. I added this to help me troubleshoot issues in programs when I cannot look at the meters. I also added TimeZones and DST to the Clock, and add more clocks for a total of 4. I needed to have my time and the TimeZone from a couple other parts of the world for work.
UPDATE 2.2.0 - 2015-12-03: Added more GPU meters, up to 4 now. Added on/off switch for GPU fan display. Fixed divide by 0 error some were getting in the GPU max memory calculation. Added a CPU meter with only the Average and no cores, if you want a simpler look.
If upgrading from 2.1.0 to 2.2.0 and you want to keep your old settings files, backup these 2 files and copy them back after you upgrade, and refresh all the skins. That should keep most all of your settings from before.
SimplePerfMeters\ @ Resources\globalsettings.inc
SimplePerfMeters\ @ Resources\HWiNFO.inc

UPDATE 2.1.0 - 2015-10-09: Changed Disk Meters so you can type any drive letter for any of the 8 disk meters in the Disk Settings skin. In doing this, I changed many variable names to make it more consistent, so if you save your old config files, you will need to re-enter the settings for the Disks. Change the labels in the GPU settings skin to match what is in the HWiNFO for the memory settings.
UPDATE 2.0.7 - 2015-09-23: Added GPU settings to help AMD graphics cards get a better result on the GPU meter for memory. See below for explanation. Made Weather Forecast toggle quicker. Added network external IP hide setting. Sometimes I screen share and wanted to hide my external IP. Fixed Disk available MB tooltip calculation. I hope this update will be it for a while. If you copy the globalsettings.inc and HWiNFO.inc files from 2.0.5, just make sure you click and fill in the new options in Network Settings and GPU settings.
UPDATE 2.0.5 - 2015-09-20: Only a couple of minor visual changes, I moved the CPU fan display, now the CPU/GPU/Disk temps will display correctly when you change from C to F and back in HWiNFO. I consolidated all settings for all skins to the globalsettings.inc file, and all HWiNFO settings for all skins to the HWiNFO.inc file. So, after installing this version, you can save these 2 files, upgrade to future versions, and restore these 2 files and all meter settings and HWiNFO settings will return. I had them in several different files before, making this process more difficult. I'll do my best to keep only these 2 files going forward to make restoring your settings easier. Cleaned up the code and modulerized the CPUmem skins and variants to make changes to them easier.
UPDATE 2.0.2 - 2015-09-08: Sorry, I found a couple more bugs in the new Disk Settings skin where you could not enter IDs. All fixed now. I hope that's it.
UPDATE 2.0.1 - 2015-09-08: Oops, missed the Disk temps on D: and H:, now fixed.
UPDATE 2.0.0 - 2015-09-07: added Disk temps and a settings skin to enter the sensor IDs and turn them on/off, cleaned up some code and settings files for other skins.
UPDATE 1.9.5 - 2015-09-07: added on/off switch for the CPU fan
UPDATE 1.9.4 - 2015-09-06: as requested, added CPU fan, added CPU Mhz by HWiNFO or PerfMon, settings * now auto hide, added a few tooltips for more information. Okay, I think I have added enough to these skins for awhile. The settings skins are starting to get out of control. :-) Enjoy.
Last edited by TGonZo on April 13th, 2016, 1:27 am, edited 21 times in total.
TGonZo
Posts: 68
Joined: April 25th, 2015, 8:19 pm
Location: Virginia

Re: Simple Perf Meters - Updated with scaling size

Post by TGonZo »

Hi all,

I had a couple of requests to have the Weather scale, so I've done that, and added the Volume to scale. Everything scales in size now, from 1.0x to 2.0x, in SimplePerfMeters 1.8.2.

Figuring how to keep all the mouse operations in place when scaling was a bit of fun. It turned out to be easier than I first thought.

It's also posted on my deviantart. http://tgonz0.deviantart.com/

Enjoy.
Attachments
SimplePerfMeters_1.8.2.rmskin
(21.49 KiB) Downloaded 704 times
TGonZo
Posts: 68
Joined: April 25th, 2015, 8:19 pm
Location: Virginia

Re: Simple Perf Meters - Updated with scaling size

Post by TGonZo »

I added 12/24 hour setting for the Clock. In 12 hour mode, the : will be bright for AM, and dim for PM.

Also posted on my deviantart page. http://tgonz0.deviantart.com/
Attachments
SimplePerfMeters_1.8.3.rmskin
(21.84 KiB) Downloaded 499 times
User avatar
SilverAzide
Rainmeter Sage
Posts: 2588
Joined: March 23rd, 2015, 5:26 pm
Contact:

Re: Simple Perf Meters - Updated with scaling size

Post by SilverAzide »

Thanks for showing how to use TransformationMatrix! :great:
I've revised all my skins to be scaleable and it works great. The mouse areas are a challenge, but doable without too much hassle.
Unight
Posts: 19
Joined: November 20th, 2012, 5:12 am

Re: Simple Perf Meters - Updated with scaling size

Post by Unight »

TGonZo
Posts: 68
Joined: April 25th, 2015, 8:19 pm
Location: Virginia

Re: Simple Perf Meters - Updated with scaling size

Post by TGonZo »

You're welcome, @SilverAzide. I'm glad that was helpful. Yeah, the mouse areas just needed to be moved to transparent overlays with simple math. It was tedious for sure, but not too difficult. And when you use the [meter_name:X] references in the mouse overlays, you can move the original meter all you want without having to bother with the mouse areas again. The only thing I had to do, was make sure all meters with mouse areas, had X,Y,H,W of an appropriate size. It seemed like the best solution for now.
User avatar
SilverAzide
Rainmeter Sage
Posts: 2588
Joined: March 23rd, 2015, 5:26 pm
Contact:

Re: Simple Perf Meters - Updated with scaling size

Post by SilverAzide »

TGonZo: One thing I was curious about... I did notice the "color" of the clickable area you used is completely transparent (0,0,0,0). I just copied your logic since it works, but I was curious as to why it works in this case. Transparent areas (AFAIK) are not clickable in Rainmeter, so I had assumed you'd need to use 0,0,0,1 instead... but obviously not. :confused:
TGonZo
Posts: 68
Joined: April 25th, 2015, 8:19 pm
Location: Virginia

Re: Simple Perf Meters - Updated with scaling size

Post by TGonZo »

@SilverAzide, I thought the same as you at first, and did start with 0,0,0,1 on my first try. After everything was working on the first skin, I decided to try 0,0,0,0 and it worked.

A developer would probably need to weigh in here for an authoritative answer, but I'll guess that a 0,0,0,0 as the skin background would not work for a mouse click, but if the background has some color, then an overlay does not need any transparency to work. That's my guess.
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Simple Perf Meters - Updated with scaling size

Post by jsmorley »

TGonZo wrote:@SilverAzide, I thought the same as you at first, and did start with 0,0,0,1 on my first try. After everything was working on the first skin, I decided to try 0,0,0,0 and it worked.

A developer would probably need to weigh in here for an authoritative answer, but I'll guess that a 0,0,0,0 as the skin background would not work for a mouse click, but if the background has some color, then an overlay does not need any transparency to work. That's my guess.
Correct. If a meter has an alpha value of 0 then it will not detect the mouse, however if any non-transparent meters or a non-transparent skin background are "under" that meter, then the mouse is detected. At the end of the day meters are not actually "layers" in any real sense. The entire skin window is a single "canvas", and the meters are just "painted" on it in the order they are in the skin. When a mouse action exists on a meter, it is really just reacting to "is the pixel inside the meter boundaries solid?" It doesn't know or care who "painted" that pixel, and there is no possible concept of any meter "owning" a pixel.

That is why when you create a String meter standing alone, it will only detect the mouse on the "solid" parts of the text, and not on the "space" between the characters. However, if you put any "solid" meter "behind" the String meter, or have a "solid" background on the overall skin window, then the entire String meter will detect the mouse.

As an example...

If I have a String meter like:

[MeterString]
Meter=String
Text=Hello World
LeftMouseUpAction=[!Log "Click!"]

Then the mouse will only be detected on the solid parts of the characters in "Hello World". To make the entire string meter clickable, you might use:

[MeterString]
Meter=String
Text=Hello World
SolidColor=0,0,0,1
LeftMouseUpAction=[!Log "Click!"]

However if the skin itself has a non-transparent background:

[Rainmeter]
BackgroundMode=2
SolidColor=0,0,0,1

Then the SolidColor on the meter is not needed, and can be removed. It's just wasting a billionth of a CPU cycle to do nothing...

Note, if there are multiple of the SAME mouse action on a given pixel, say on the skin background and a meter, then the last mouse action defined will win. If there are DIFFERENT mouse actions on a given pixel, say a MouseOverAction on the skin, and a LeftMouseUpAction on the meter, then both are detected.
TGonZo
Posts: 68
Joined: April 25th, 2015, 8:19 pm
Location: Virginia

Re: Simple Perf Meters - Updated with scaling size

Post by TGonZo »

Thanks jsmorley. I suspected that, but it is good to know for sure. It seems like in most cases, this is not something that we need to worry about. But if your skin is setup with a completely transparent background, it sounds like a good idea to make mouse actions with the minimum 0,0,0,1 to make sure they are seen and usable.
Post Reply