Grestorn Posted March 11, 2017 Share Posted March 11, 2017 Hi! I've been using AIDA64 for a some years now and I've put a lot of work in my panel - I really appreciate the support you put into AIDA64! One thing I'd like to add to my panel is the reason for the current limit for the GPU. GPU-Z, EVGA Precision X and MSI Afterburner all have indicators to report the cause for throttling as "Power limit", "Voltage limit", "Temperature limit" or "No Load Limit". I guess these values are available through the nvidia API. I guess the best would be to 4 different sensor values for each of those, each of them being 0 or 1. I'd then be able to add a kind of "LED indicator" for each of those states to my panel: Is that something you'd consider to add to AIDA64? Quote Link to comment Share on other sites More sharing options...
Grestorn Posted March 18, 2017 Author Share Posted March 18, 2017 No insight on that idea? I'd really appreciate that function! Quote Link to comment Share on other sites More sharing options...
Fiery Posted March 20, 2017 Share Posted March 20, 2017 We will look into it after the rollout of the next AIDA64 stable update, which is due next week Quote Link to comment Share on other sites More sharing options...
Grestorn Posted March 21, 2017 Author Share Posted March 21, 2017 That's perfectly fine, thank you! Quote Link to comment Share on other sites More sharing options...
Grestorn Posted April 12, 2017 Author Share Posted April 12, 2017 Might I bring my request back to your attention? Quote Link to comment Share on other sites More sharing options...
Grestorn Posted April 29, 2017 Author Share Posted April 29, 2017 I guess this is not coming, is it? Quote Link to comment Share on other sites More sharing options...
Fiery Posted May 5, 2017 Share Posted May 5, 2017 We haven't yet found a way to detect those states. We'll also need to find out how to integrate them in the existing AIDA64 hardware monitoring module framework, since that one doesn't support yes/no states properly yet. Please give us a bit more time on this Quote Link to comment Share on other sites More sharing options...
Grestorn Posted May 5, 2017 Author Share Posted May 5, 2017 Thanks for this status report! Very much appreciated. I thought that these values are published in the NVAPI but then you'd have certainly found it yet. Maybe you can contact the guys from GPU-Z, RivaTuner/Afterburner. They show this value, among others. For how to integrate it: Either make a single value which could assume discreet values like 0=No limit, 1=Power Limit, 2=Temperature Limit, 3=Voltage limit. That would be fine for me, because I'd use this to create a color indicator (making a big bar which is mostly hidden behind a texture so that you can only see the bar's color through a small hole that makes it look like a small bulb. Then I use the values to change the color of this bar to reflect the different states). Of course, you could also create 4 separate simple 0/1 values, but that seems like overkill to me. Quote Link to comment Share on other sites More sharing options...
Fiery Posted May 8, 2017 Share Posted May 8, 2017 On 2017. 05. 05. at 8:41 PM, Grestorn said: Thanks for this status report! Very much appreciated. I thought that these values are published in the NVAPI but then you'd have certainly found it yet. Maybe you can contact the guys from GPU-Z, RivaTuner/Afterburner. They show this value, among others. For how to integrate it: Either make a single value which could assume discreet values like 0=No limit, 1=Power Limit, 2=Temperature Limit, 3=Voltage limit. That would be fine for me, because I'd use this to create a color indicator (making a big bar which is mostly hidden behind a texture so that you can only see the bar's color through a small hole that makes it look like a small bulb. Then I use the values to change the color of this bar to reflect the different states). Of course, you could also create 4 separate simple 0/1 values, but that seems like overkill to me. The problem with the single value is that to my understanding the throttling cause is not reported as an "either", but as a bit field combo, so there's a possible state of power limit + voltage limit in the same time, or even power limit + temperature limit + voltage limit. So reporting that would either need discreet values -- which would blow up the number of sensor items considerably --, or would require us to report the values as a string (text form). The latter solution would however make it impossible for you to put indicator LEDs on your panel... Quote Link to comment Share on other sites More sharing options...
Grestorn Posted May 8, 2017 Author Share Posted May 8, 2017 Hm, when I look at the graphs of MSI Afterburner, it seems that the bits are actually mutual exclusive. And GPU-Z also displays it as a single state. So it seems even though it's technically represented as a bit field, there's only one bit that can be set at one time (which also would make sense logically). I'd just go for a single value with one discreet value for each state. A string wouldn't help me, as you said yourself. Quote Link to comment Share on other sites More sharing options...
Fiery Posted June 6, 2017 Share Posted June 6, 2017 We've added the Performance Cap Reason information to the Display / GPU page in the latest beta version of AIDA64 Extreme available at: https://www.aida64.com/downloads/latesta64xebeta After upgrading to this new version, make sure to restart Windows to finalize the upgrade. It can indeed have multiple reasons combined as a bit mask, so it's not trivial how to add that to the existing LCD and SensorPanel modules. We'll think about it Quote Link to comment Share on other sites More sharing options...
Grestorn Posted June 6, 2017 Author Share Posted June 6, 2017 Yes, way to go... !! Can't wait to get this in the Panel. In theory, separate indicator values would work well. For a simple "LED" indicator, I'd make create bar elements for each value on to of each other. 0 would make them very small (i.e. invisible) while 1 would make it big enough, so that only one color becomes visible. This way you could also use a "sliding" indicator, showing the throttling reason over time (similar to GPU-Z's display) by placing a 'graph' element for each value on top of each other. 0 being all the way down and 1 all the to the top. Quote Link to comment Share on other sites More sharing options...
Fiery Posted June 6, 2017 Share Posted June 6, 2017 1 hour ago, Grestorn said: Yes, way to go... !! Can't wait to get this in the Panel. In theory, separate indicator values would work well. For a simple "LED" indicator, I'd make create bar elements for each value on to of each other. 0 would make them very small (i.e. invisible) while 1 would make it big enough, so that only one color becomes visible. This way you could also use a "sliding" indicator, showing the throttling reason over time (similar to GPU-Z's display) by placing a 'graph' element for each value on top of each other. 0 being all the way down and 1 all the to the top. We don't really want to implement separate indicators. It would involve adding 48 new sensor items (6 reasons multiplied by 8 GPUs). We're thinking more in the line of simply returning the reason bit mask as it is passed by ForceWare. It would work like: a value of 1 means Power Limit, 2 means Temperature Limit, 4 means Reliability Voltage, 16 means Utilization, etc. A value of 3 would mean Power Limit + Temperature Limit occuring in the same time, and a value of 7 would mean Power Limit + Temperature Limit + Reliability Voltage occuring in the same time. I'm not sure however how you could define a proper LED colour assignment to make it useful for your purposes. Quote Link to comment Share on other sites More sharing options...
Grestorn Posted June 7, 2017 Author Share Posted June 7, 2017 That should work fine enough for my purposes as well. I'm sure I'll figure out a way to use it properly... Quote Link to comment Share on other sites More sharing options...
ronzino Posted May 7, 2020 Share Posted May 7, 2020 Hello Greston , Fiery, sorry for resuming this old post, but time has passed, AIDA goes strongly ahead, and maybe I have a workaround to suggest about that topic. SITUATION Let me resume. GPU performance can be limited by voltage power temperature sli link saturation Those value are mutually exclusive (just one set, other zero) REQUEST We need a sensor for them, for each one of them. A true/false 0-1 sensor. Then we need a sensorpanel item like a circle (LED). If sensor=1 then user pick a color, else another color. FIERY 2017 answer we don't want to add too much sensor. WORKAROUND To workaround this, the following suggestion needs a little bit of help from you with a modification, but with same approch. ONE SENSOR Just one sensor, but not as a string (like now) but as an integer. let's make this DEFINE-like map voltage =10 power = 20 temperature = 30 sli link saturation = 40 Simply with this, now AIDA SensorPanel user can do the following define a sensor bar(voltage) with the following define a sensor bar (power) with the following define a sensor bar(temperature) with the following (image omitted, it should be clear) min 0 black limit 1 30 green limit 2 40 black limit 3 41 black max 50 define a sensor bar(sli link limit) with the following (image omitted, it should be clear) min 0 black limit 1 40 green limit 2 41 black limit 3 42 black max 50 And this should work as intended (sorry I haven't write software behavioral emulator to test). It should work as binary sensors, limiting a "5 switch-case" sensor ADDITIONAL REQUEST/IMPROVEMENT It would be "more elegant and clean" if you can create a binary type sensor to do such activities, or even better to let user decides the number of condition (now fixed to 5). 2 condition, one color for match, other color for not matched. Quote Link to comment Share on other sites More sharing options...
ronzino Posted May 8, 2020 Share Posted May 8, 2020 the same workaround should be even possible using AIDA "Gauge custom" (in this case we can load our .png file). It should be more "clean and elegant" the gauge has 16 levels, so if AIDA can-define the value as above they will act in a scale 0-40 (step=10) so (40-0) / 16 = 2.5 is the corresponding step size in the png scale. FOR VOLTAGE (defined = 10) we define a gauge 0 to 40 with the following 15 step png mapping 0 to 3 black.png 4 green.png 5 to 15 black-png FOR POWER (defined = 20) we define a gauge 0 to 40 with the following 15 step png mapping 0 to 7 black.png 8 green.png 9 to 15 black-png FOR TEMPERATURE (defined = 30) we define a gauge 0 to 40 with the following 15 step png mapping 0 to 11 black.png 12 green.png 13 to 15 black-png FOR SLI-LINK SATURATION (defined = 40) we define a gauge 0 to 40 with the following 15 step png mapping 0 to 15 black.png 16 green.png It should work :-) .... Quote Link to comment Share on other sites More sharing options...
Fiery Posted May 14, 2020 Share Posted May 14, 2020 On 5/7/2020 at 10:03 PM, ronzino said: Hello Greston , Fiery, sorry for resuming this old post, but time has passed, AIDA goes strongly ahead, and maybe I have a workaround to suggest about that topic. SITUATION Let me resume. GPU performance can be limited by voltage power temperature sli link saturation Those value are mutually exclusive (just one set, other zero) REQUEST We need a sensor for them, for each one of them. A true/false 0-1 sensor. Then we need a sensorpanel item like a circle (LED). If sensor=1 then user pick a color, else another color. FIERY 2017 answer we don't want to add too much sensor. WORKAROUND To workaround this, the following suggestion needs a little bit of help from you with a modification, but with same approch. ONE SENSOR Just one sensor, but not as a string (like now) but as an integer. let's make this DEFINE-like map voltage =10 power = 20 temperature = 30 sli link saturation = 40 Simply with this, now AIDA SensorPanel user can do the following define a sensor bar(voltage) with the following define a sensor bar (power) with the following define a sensor bar(temperature) with the following (image omitted, it should be clear) min 0 black limit 1 30 green limit 2 40 black limit 3 41 black max 50 define a sensor bar(sli link limit) with the following (image omitted, it should be clear) min 0 black limit 1 40 green limit 2 41 black limit 3 42 black max 50 And this should work as intended (sorry I haven't write software behavioral emulator to test). It should work as binary sensors, limiting a "5 switch-case" sensor ADDITIONAL REQUEST/IMPROVEMENT It would be "more elegant and clean" if you can create a binary type sensor to do such activities, or even better to let user decides the number of condition (now fixed to 5). 2 condition, one color for match, other color for not matched. GPU PerfCap is not a mutually exclusive list of values but a bitmask. So not just one could happen at any given time, but one or more in the same time. That's why it's quite difficult to handle it as an integer value or any other numeric value Quote Link to comment Share on other sites More sharing options...
ronzino Posted May 15, 2020 Share Posted May 15, 2020 It is a bit mask, correct, but as far as I can see in Aida the mask is then mapped/decoded in static strings. What happen if two happen at a given time? do you print two strings concatenated or just one of the two? ( I don't have a PC with Sli now, I will check next Monday). If you print just one string (apart the logic behind which PerfCap to choose) , it is already a bitmap decode to an integer (the string array index) Quote Link to comment Share on other sites More sharing options...
Fiery Posted May 20, 2020 Share Posted May 20, 2020 On 5/16/2020 at 1:06 AM, ronzino said: It is a bit mask, correct, but as far as I can see in Aida the mask is then mapped/decoded in static strings. What happen if two happen at a given time? do you print two strings concatenated or just one of the two? ( I don't have a PC with Sli now, I will check next Monday). If you print just one string (apart the logic behind which PerfCap to choose) , it is already a bitmap decode to an integer (the string array index) It's printed as a list of strings, separated by comma. So a single or multiple reason strings are included in the resulting text. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.