public void OverClock(IGpu gpu, OverClockValue value) { value.Correct(gpu); bool isSetCoreClock = value.GetIsSetCoreClock(gpu); bool isSetMemoryClock = value.GetIsSetMemoryClock(gpu); bool isSetPowerLimit = value.GetIsSetPowerLimit(gpu); bool isSetTempLimit = value.GetIsSetTempLimit(gpu); int busId = gpu.GetOverClockId(); if (isSetCoreClock) { SetCoreClock(busId, value.CoreClockMHz, value.CoreClockVoltage); } if (isSetMemoryClock) { SetMemoryClock(busId, value.MemoryClockMHz, value.MemoryClockVoltage); } if (isSetPowerLimit) { SetPowerLimit(busId, value.PowerLimit); } if (isSetTempLimit) { SetTempLimit(busId, value.TempLimit); } if (!value.IgnoreFanSpeed) { SetFanSpeed(gpu, value.FanSpeed); } }
public void OverClock(IGpu gpu, OverClockValue value) { value.Correct(gpu); int busId = gpu.GetOverClockId(); SetCoreClock(busId, value.CoreClockMHz); int voltage = 0; if (value.CoreClockVoltage != 0 && value.MemoryClockVoltage != 0) { voltage = Math.Min(value.CoreClockVoltage, value.MemoryClockVoltage); } else { voltage = Math.Max(value.CoreClockVoltage, value.MemoryClockVoltage); } if (voltage >= 0) { SetVoltage(busId, voltage); } SetMemoryClock(busId, value.MemoryClockMHz); SetPowerLimit(busId, value.PowerLimit); SetTempLimit(busId, value.TempLimit); if (!value.IgnoreFanSpeed) { SetFanSpeed(gpu, value.FanSpeed); } }