解释一个函数

Explain a function

我目前正在分析 AMD ADL sdk 并发现非常有趣的功能

int FindTController(const int iAdapter)
{
    for (int i = 0; ; i++)
    {
        ADLThermalControllerInfo tcinfo;

        tcinfo.iSize = sizeof(tcinfo);

        if (ADL_OK == ADL_Overdrive5_ThermalDevices_Enum(iAdapter, i, &tcinfo))
        {
            if (tcinfo.iThermalDomain) // if GPU domain
                return i;
            //tcinfo.iDomainIndex;
            //tcinfo.iFlags;
        }
    }
    return 0;
}

我知道这个函数正在搜索响应迅速的 AMD GPU 散热设备,但为什么在

等函数中需要它
void SetDefaultFanSpeed(const int iAdapter, const int iTController)
{
    if (ADL_OK != ADL_Overdrive5_FanSpeedToDefault_Set(iAdapter, iTController))
    {
        fprintf(stderr, "Error: cannot set Fan Speed to default.\n");
    }
}
int ADL_Overdrive5_FanSpeedToDefault_Set(int iAdapterIndex, int iThermalControllerIndex)
    {
        return Error = ((int (*)(int,int)) (mProcAddress[E_ADL_Overdrive5_FanSpeedToDefault_Set]))
            (iAdapterIndex, iThermalControllerIndex);
    }

几乎所有的 amd ADL 函数都在使用这个 FindTController 函数,它真的很重要还是万金油?

在不了解硬件内部的情况下很难说。但是是什么让你认为它会是蛇油?

调用SetDefaultFanSpeed时风扇转速不会改变吗?该界面似乎完全合理。你必须告诉它什么 GFX 卡和什么风扇设置速度。如果没有 iTController 参数,您如何为一张卡上的 2 个风扇设置不同的速度?