Closed incansvl closed 1 year ago
Basically, it's kind of a PID, with mostly "D", with 2 states. Idle, and load. "Load" is 75% of the way toward your load temps from your idle temp, and above.
In the idle state, it will act as a linear fan curve.
The switch from idle to load will bump up the fan speed as you mentioned. Goal of this is to give some kind of fast response to a load scenario and not leave the fan speed low with a slow increasing rpm.
In the load state, it will look at the "trend" ("D") of the temperature, and "step" up or down the speed depending on that trend. If the temp goes above the set load temp, it will step up until it gets back down under the load temp. The goal of this is the ability for the curve to trend down to a lower % under load if cooling is sufficient. It will decrease the rpm until it finds an equilibrium. It works best really in constant load scenarios. If it reacts too quickly, decrease the step ( you can go 0.1%) and increase the response time. Fan Rpm in relation to temperature is a slow/laggy and indirect system. The PID aspect only works in constant load scenarios, hence why it's limited to the "load" state.
I wouldn't use this in daily usage scenarios, where temps spike up and down constantly. People that found use of this are people like coin miners, video editors with long renders, servers with pretty steady load, and so on. It also works great with liquid temperature for advanced water-cooling setups, because the liquid temperatures will change slowly over time.
That's a great overview, thanks. My usage is typical desktop + gaming so based on your explanation this may not be the best control type to use. I'll go back to standard temp/fan speed curves ;-)
Hardware: Gigabyte GA-Z170X-Gaming G1, Intel i7 6700K, Corsair 120mm AIO cooler, Radeon 6700XT OS: Windows 10 Home 64 bit FanControl: 173 (Net 4.8)
I realise the "Auto" curve type is still in beta, however that means that there is no description of the internal logic of this control in the FanControl documentation.
I'm curious to know if this curve is using PID (Proportional, Integral, Derivative) calculation internally, and if so if the PID parameters themselves could be made tunable.
When testing out this control, instead of a normal graph based CPU Temp->Fan speed control, I found it was ramping the fan speed aggressivley if the CPU temp bumped a little up above the "Idle temp" set in the control, but when the CPU temp was moving quickly (a high rate of change). This can cause cycling/instability of the fan speed output as the cpu temp responds and drops back down again. I've seen the fan speed demand from this control bouncing between 20% (the minimum set in the control) and 73% in a cyclic manner. (screenshot of my current settings included as an attachment).
This instability is something that can often be "tuned out" of a PID control, or at least mitigated, by tweaking the parameters.
There may be aspects of my PC setup that make it more prone to fan cycling. The water cooling of the CPU might add more delay in the temp/fan speed response (maybe, i'm guessing), but it would be interesting to see if it can be tamed by more tweaking.