Page 1 of 1

MSI Afterburner Ability?

Posted: February 25th, 2020, 12:57 pm
by Mor3bane
Hello, I wish to monitor my GPU Usage.

Does the MSI Afterburner plugin do that?

If so, then my take on it isn't correct:

Code: Select all


[MeasureGPU1Usage]
Measure=Plugin
Plugin=MSIAfterburner.dll
GPU=0
GPUDescriptor=Usage
RegExpSubstitute=1

[MeasureGPU1UsageFree]
Measure=Plugin
Plugin=MSIAfterburner.dll
InvertMeasure=1
GPU=0
GPUDescriptor=Usage
RegExpSubstitute=1
Is this even possible or am I looking down another rabbit hole?

Re: MSI Afterburner Ability?

Posted: February 25th, 2020, 1:09 pm
by Mor3bane
Ok have this now - still no dice :(

Code: Select all


[MeasureGPU1Usage]
Measure=Plugin
Plugin=MSIAfterburner.dll
DataSource=GPU usage
MinValue=0
MaxValue=100

[MeasureGPU1UsageFree]
Measure=Plugin
Plugin=MSIAfterburner.dll
InvertMeasure=1
DataSource=GPU usage
MinValue=0
MaxValue=100

Re: MSI Afterburner Ability?

Posted: February 25th, 2020, 5:25 pm
by Yincognito
Mor3bane wrote: February 25th, 2020, 12:57 pm Hello, I wish to monitor my GPU Usage.

Does the MSI Afterburner plugin do that?

If so, then my take on it isn't correct:

Code: Select all


[MeasureGPU1Usage]
Measure=Plugin
Plugin=MSIAfterburner.dll
GPU=0
GPUDescriptor=Usage
RegExpSubstitute=1

[MeasureGPU1UsageFree]
Measure=Plugin
Plugin=MSIAfterburner.dll
InvertMeasure=1
GPU=0
GPUDescriptor=Usage
RegExpSubstitute=1
Is this even possible or am I looking down another rabbit hole?
Yes, it does, but you'd better use SourceId instead of GPUDescriptor. The latter is used mainly when you need the name of your video card, while the former is for, well, everything else:

Code: Select all

[MeasureGPU0DisplayName]
Measure=Plugin
Plugin=MSIAfterburner.dll
GPU=0
GPUDescriptor=DisplayName
RegExpSubstitute=1
Substitute="(?:^\s+|\s+$)":"","(^$|^0$)":"Unavailable"

[MeasureGPU0Usage]
Measure=Plugin
Plugin=MSIAfterburner.dll
GPU=0
SourceId=48
For what those SourceIds are and what each of them provides you may choose one of the following options:
- search on MSI AB forum - and their plugin forum as well - for a list (it's hidden in the many posts there)
- open "c:\Program Files (x86)\MSI Afterburner\SDK\Include\MAHMSharedMemory.h" with your text file viewer and you'll see the hexadecimal (base 16) codes for (I believe) each of the possible SourceIds. You just have to convert that number to base 10 and use it in your skin
- if none of the above succeed (although I doubt it), I can post my video card skin which also uses MSI AB's plugin

Be aware of some things though:
- MSI AB must be installed and running, in order to be able to get the GPU (and other) data
- some GPUs need some "tricks" to have data for them (I'm thinking Ryzen here, I don't know of any other GPUs needing "special measures")
- GPU usage is very hard to notice while in desktop mode, in Windows. That's because you GPU barely does any hard work while in desktop mode, you'd need to try very hard to use it (like playing a 4K movie, some reasonable resolution Flash on the internet, some video processing, etc.) to notice some change in the data. Where GPUs do actual work is in games or other 3D apps, but there you probably won't be able to see Rainmeter's skins, since you won't be in desktop mode anymore - but don't worry, MSI AB (and Riva Tuner Statistic Server, aka RTSS) have their own OSD monitoring capabilities, and with a little tweaking, you can make a "MSI AB skin" for when you're in 3D mode. I, for example, am using Rainmeter for the monitoring in desktop mode and MSI AB + RTSS for almost the same monitoring (i.e. CPU, GPU, RAM, PageFile or FPS) -both functionally and visually - in 3D mode.

That being said, a better thing that you can watch for other values than 0 would be the GPU temperature (SourceId=0). This way you'll notice faster if you have data feedback from the plugin or not. Or, you can download my MYiniMeter suite and if MSI AB is installed and running you should be able to see some stuff from it.

Re: MSI Afterburner Ability?

Posted: February 26th, 2020, 12:41 am
by Mor3bane
Thanks Yincognito, I appreciate the reply.

You suite is interesting and looks to function quite well. However there is no GPU functionality, so in reference there isn't anything for me to learn from or copy etc, etc.

This is a copy of a MSI Measure example, it does not work - however, it can be noted that the example is from 2015:

Code: Select all


[MeasureGPU1Usage]
Measure=Plugin
Plugin=MSIAfterburner.dll
GPU=0
DataSource=GPU usage
MinValue=0
MaxValue=100

[MeasureGPU1UsageFree]
Measure=Plugin
Plugin=MSIAfterburner.dll
GPU=0
InvertMeasure=1
DataSource=GPU usage
MinValue=0
MaxValue=100

Re: MSI Afterburner Ability?

Posted: February 26th, 2020, 6:03 am
by Mor3bane
this is the working solution:

Code: Select all

[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1
Group=Big

[Variables]
@include=#@#RoundVariables.inc
Color=#GlobalFontColor#
ColorZ=#ColorOffset#
Font=#GlobalFont#
FreeColor=#Free#
UsedColor=#Used#

[MetaData]
Author=Morbane

[Background]
Meter=Image
ImageName=#@##MyBackgroundImage#
X=40
Y=40

[MeasureGPU1Usage]
Measure=Plugin
Plugin=MSIAfterburner.dll
GPU=0
SourceId=48
MinValue=0
MaxValue=100

[MeasureGPU1UsageFree]
Measure=Plugin
Plugin=MSIAfterburner.dll
GPU=0
InvertMeasure=1
SourceId=48
MinValue=0
MaxValue=100

[MeasureGPU2Usage]
Measure=Plugin
Plugin=MSIAfterburner.dll
GPU=1
SourceId=48
MinValue=0
MaxValue=100

[MeasureGPU2UsageFree]
Measure=Plugin
Plugin=MSIAfterburner.dll
InvertMeasure=1
GPU=1
SourceId=48
MinValue=0
MaxValue=100

[GPU]
MeasureName=MeasureGPU2Usage
Meter=ROUNDLINE
X=134
Y=133
W=70
H=70
StartAngle=-1.5458897
RotationAngle=3.017
LineColor=#FreeColor#
LineLength=88
LineStart=100
Solid=1
AntiAlias=10

[GPUFree]
MeasureName=MeasureGPU2UsageFree
Meter=ROUNDLINE
X=134
Y=133
W=70
H=70
StartAngle=1.510
RotationAngle=-3.007
LineColor=85,95,105,225
LineLength=88
LineStart=100
Solid=1
AntiAlias=10

[GPU2]
MeasureName=MeasureGPU1Usage
Meter=ROUNDLINE
X=r
Y=r
W=70
H=70
StartAngle=4.6825758
RotationAngle=-3.0820
LineColor=#UsedColor#
LineLength=88
LineStart=100
Solid=1
AntiAlias=10

[GPU2Free]
MeasureName=MeasureGPU1UsageFree
Meter=ROUNDLINE
X=r
Y=r
W=70
H=70
StartAngle=1.560
RotationAngle=3.067
LineColor=#ColorZ#
LineLength=88
LineStart=100
Solid=1
AntiAlias=10

[MeterText]
Meter=String
Text=GPU1 USE:
Fontsize=24
FontFace=Astronaut
FontColor=#UsedColor#
AntiAlias=1
StringAlign=Center
x=169
y=110
DynamicVariables=1

[MeterText1]
Meter=String
Text=GPU2 USE:
Fontsize=24
FontFace=Astronaut
FontColor=#FreeColor#
AntiAlias=1
StringAlign=Center
x=169
y=170
DynamicVariables=1

[MeterGPU2]
Meter=String
MeasureName=MeasureGPU1Usage
FontSize=24
FontColor=#Color#
FontFace=Astronaut
StringStyle=normal
AntiAlias=1
Text="%1 %"
y=140
StringAlign=Center
x=169
DynamicVariables=1

[MeterGPU]
Meter=String
MeasureName=MeasureGPU2Usage
FontSize=24
FontColor=#Color#
FontFace=Astronaut
StringStyle=normal
AntiAlias=1
Text="%1 %"
y=200
StringAlign=Center
x=169
DynamicVariables=1

Re: MSI Afterburner Ability?

Posted: February 26th, 2020, 7:56 am
by Yincognito
Mor3bane wrote: February 26th, 2020, 12:41 am Thanks Yincognito, I appreciate the reply.

You suite is interesting and looks to function quite well. However there is no GPU functionality, so in reference there isn't anything for me to learn from or copy etc, etc.
Well, I don't know if there is a misunderstanding somewhere, but there is a GPU functionality in my suite (and hence something to learn and copy from), since the "working solution" you posted recently applies precisely the method I suggested earlier, and that's also applied in my skin suite.

Basically, you posted the same type of measures I did (using SourceId as an option), you just added the meters. I didn't add the meters in my previous post because it's trivial to write them, and it's basic logic that without meters you won't get some visual feedback on anything in Rainmeter.

Re: MSI Afterburner Ability?

Posted: May 29th, 2020, 7:05 pm
by Faiq12
yes i don't know much about msi afterburner but i was studying it a bit it was written that it can tell u about temperature sort of stuff so i think it can work out for gpu levels as well
https://msiafterburner.net/