Alarm not triggering when goes from "Minimum" alert straight to "Maximum" alert

GTMoraes

Member
Hello,

I'm using HWiNFO to control my CPU speed when working and gaming. When I'm gaming, I like to lock the CPU speed to a certain frequency in order to avoid overheating on long gaming sessions, and when I'm working, I like to have maximum performance when it's needed.
I use ThrottleStop for this, and keybinds to change profiles. I, then, use AutoHotKey to execute the hotkeys. I've set two alarms in HWiNFO to loosely detect what am I doing at the moment: If any FPS is registered (which RTSS registers when a game is opened), it changes to Game Profile. When the the GPU temperature is 0°C (because Optimus disabled it), it changes to Normal Profile.
The latter is not a very good method, but I used because I was out of options


Currently, ThrottleStop and keybinds work great, and HWiNFO's new "Trigger Only Once" alarm toggle does a great job triggering the keybinds automatically with AutoHotKey-made .exe scripts for these scenarios
Many thanks for adding this toggle, by the way

However, the temperature reading isn't a very reliable method to detect whether I'm Gaming or Working. 
But I found out that I can pass the current sensor reading as an argument, so I made a quick script that chooses the correct profile given the FPS. Below 5 FPS, Normal Profile. Above that, Game Profile. 

So the HWiNFO sensor alert is set like this:

RTSS FPS Sensor
Enable Alerting:
              [X] If Value <     5 
              [X] If Value >=  32

              [X] Run a program [script.exe %v]

The script parses the argument correctly, but when Trigger Only Once is checked, HWiNFO doesn't run the "If Value >=" alarm correctly, only "If Value <", for some reason 
I know when the profile is switched because I've set the script to play a tune whenever it happens

Example 1:
Trigger Only Once is checked 

- FPS reading is at 0FPS
- HWiNFO has triggered the "If Value < 5" alarm for this sensor (long ago)
- I open a game
- FPS reading is at 120FPS
- HWiNFO doesn't trigger the "If Value >= 32" alarm for this sensor
- "Game Profile" Tune doesn't play
- I close the game
- FPS reading is now back at 0
- HWiNFO triggers the "If Value < 5" alarm.
- "Normal Profile" Tune plays


Example 2:
Trigger Only Once is NOT checked

- FPS reading is at 0FPS
- HWiNFO keeps triggering the alarm because the "If Value < 5" is true for this sensor (long ago)
- Sporadically the "Normal Profile" tune plays
- I open a game
- FPS reading is now at 120FPS
- Now the "Game Profile" tune plays sporadically, so the "If Value >= 32" is being correctly interpreted
- I close the game
- FPS Reading returns to 0
- The "Normal Profile" tune plays now

I hope I wasn't too confusing in my explanation, I can't think of a better way to explain it.
Basically HWiNFO doesn't seem to trigger the "If Value >=" alarm when Trigger Only Once is set, and the sensor value was already below the "If Value <" alarm.
Or maybe I'm doing something wrong. If so, please tell me where I did wrong

Thanks
 
Is it possible that the FPS jumps straight from 0 to >32 without attaining a value between both thresholds (5 - 32 FPS) ?
The value needs to be at least once in the valid (non-alerted) range for the alarm to be triggered again.
 
Martin said:
Is it possible that the FPS jumps straight from 0 to >32 without attaining a value between both thresholds (5 - 32 FPS) ?
The value needs to be at least once in the valid (non-alerted) range for the alarm to be triggered again.

Completely possible. The reading is at 0 when no game is running, and jumps straight to 60~100 when a game is running
I've tried setting the upper threshold to something like 60FPS, but whenever it dipped the FPS to anything below, it would trigger again the hotkey combination

Can it be set to be two independent alarm triggers? The lower threshold seems already to be independent, as when a game is closed and FPS drops back to 0, it triggers the alarm for it
 
Hey, I'm just wondering if it's possible to add this feature, or could you give a suggestion to achieve similar results

Thanks!
 
If possible try to achieve that when you start a game the FPS will first reach a value below the upper threshold.
If not, you might consider moving the whole FPS evaluation into your custom application and make all decisions there.
 
Martin said:
If possible try to achieve that when you start a game the FPS will first reach a value below the upper threshold.
If not, you might consider moving the whole FPS evaluation into your custom application and make all decisions there.

My custom app just triggers a hotkey, given the value it receives when HWiNFO launches it with the %v argument
Unfortunately FPS reading just skyrockets to the current FPS, but I'll try finding a way, though! Thanks
 
How about increasing "Samples to trigger alarm"? That probably won't work for you with the current version, but I could change that the alarm will be triggered when the value jumps from lower to upper threshold and with samples > 1.
 
Martin said:
How about increasing "Samples to trigger alarm"? That probably won't work for you with the current version, but I could change that the alarm will be triggered when the value jumps from lower to upper threshold and with samples > 1.

I had increased the current "samples to trigger alarm" value, but that just seemingly delayed whenever it was going to work already, and did nothing on the scenarios that it wasn't working anyway (I've used 10 sample values, with HWiNFO refreshing sensors every second).

Initially I thought that both alarm thresholds could be interpreted independently, triggering the alarm whenever the lower/higher threshold is crossed, as it's impossible to hit both alarm values at once. However I'm guessing that might not be as simple as that, so I've been thinking about suggesting adding an "Average last X samples", as that would allow it to slowly attain a value between thresholds, but I thought it could end up taking more CPU resources (as it would be constantly saving the last X samples and averaging it? I don't know how much that would impact the performance)

If I understood correctly, your change would be something between the lines of my initial thought and averaging? It sounds like it'll work!
 
I will change it so, that if you use "Samples to trigger alarm" > 1, the alarm should be triggered when it jumps from lower to upper threshold.
 
Martin said:
I will change it so, that if you use "Samples to trigger alarm" > 1, the alarm should be triggered when it jumps from lower to upper threshold.

That'd be fantastic! Thanks for considering
Looking forward the update
 
Hey, I'm on the latest released beta and it doesn't seem to work still

Am I doing this right? I've set the "Samples to trigger alarm" to 3 and "Notification Distance" to 2, set both upper and lower thresholds accordingly and tested it. 
It seems to act just like before

I'm on 5.87-3490
 
Try with "Samples to trigger alarm" = 2 and leave "Notification Distance" at default.
 
Martin said:
Try with "Samples to trigger alarm" = 2 and leave "Notification Distance" at default.


Still nothing..
This is how it's set up

LJp31Aj.png



I've tried fiddling with Notification distance and Samples to Trigger Alarm to see if something happens. I've also enabled "Display Warning Window", because for a moment I thought my program was misbehaving, but it's actually HWiNFO that's not triggering
 
What is your refresh period?
Try with "Samples to trigger alarm" = 2 and "Notification Distance"=0.
 
Sorry, you're right, there's still a problem.. I will need to rewrite more code than I thought..
 
Back
Top