有很多方面会影响应用程序的功耗,并且根据所使用的硬件的不同,这些方面会有很大差异。
获得想法的最简单方法就是对其进行衡量。如果您的程序正在执行大量计算,则测量差异非常简单。只需在应用程序运行时读出使用情况,并在应用程序不运行时减去使用情况。
如果您的应用程序不属于繁重计算类型,那么挑战会更大,因为简单的 1 个时间点比较无法解决问题。您可以获得一个可以记录一段时间内使用情况的测量设备,您需要将该日志与机器记录的进程活动进行比较,并尝试过滤掉所有其他计划任务(检查更新等)。
如果您想这样做,请注意,APC 的 UPS 内置了此功能,并且PowerChute软件将功耗日志存储在 Access 数据库中 (C:\Program Files\APC\PowerChute Personal Edition\EnergyLog.mdb )。我不确定这是否适用于所有型号,但这是我的(Pro 550)附带的一个很好的额外功能。我会将数据与Xperf 跟踪(Windows 中免费的内置分析器,请在此处查看概述)一起放置,以便将功率变化与应用程序活动相关联,并过滤掉计划的作业等...
也就是说,请记住您会在不同的硬件上得到不同的结果。SSD 与传统硬盘有所不同,并且使用的 grafix 适配器也会产生影响,因此您只能通过在“典型”系统上进行测量来获得总体的粗略估计。台式机系统将消耗比笔记本电脑等更多的分配...(另请参阅此博客文章)。
功耗分析工具更常见于移动设备。我不是该领域的专家,但我知道有很多工具。