using NvAPIWrapper.Native.GPU; using NvAPIWrapper.Native.GPU.Structures; namespace NvAPIWrapper.GPU { /// /// Contains information about a power domain usage /// public class GPUPowerTopologyStatus { internal GPUPowerTopologyStatus( PrivatePowerTopologiesStatusV1.PowerTopologiesStatusEntry powerTopologiesStatusEntry) { Domain = powerTopologiesStatusEntry.Domain; PowerUsageInPCM = powerTopologiesStatusEntry.PowerUsageInPCM; } /// /// Gets the power usage domain /// public PowerTopologyDomain Domain { get; } /// /// Gets the current power usage in per cent mille (PCM) /// public uint PowerUsageInPCM { get; } /// /// Gets the current power usage in percentage /// public float PowerUsageInPercent { get => PowerUsageInPCM / 1000f; } /// public override string ToString() { return $"[{Domain}] {PowerUsageInPercent}%"; } } }