说明功能

时间:2018-06-28 11:21:18

标签: c++ function amd-gpu

我目前正在对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函数,它真的很重要还是仅仅是蛇油?

1 个答案:

答案 0 :(得分:0)

在不了解硬件内部的情况下很难说。但是什么使您认为这将是蛇油?

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