1

有没有办法计算加载和呈现网页(前端)所消耗的电量?例如,我正在考虑使用 phantomjs 进行的“测试”:

  • 加载网页
  • 滚动到底部

并测量需要多少电力。我也许可以从 CPU 周期推断。但是phantomjs是无头的,在真实浏览器中渲染肯定是不一样的。也许不可能进行真正的测量..但是通过索引可以比较网站。

您还有其他建议吗?

4

1 回答 1

1

在现代处理器(任何比 286 更新的处理器)内部测量这一点几乎是不可能的。在内部,我的意思是计算周期。这是因为处理器的不同部分根据指令在每个周期消耗不同级别的能量。

也就是说,您可以进行测量。在墙壁和处理器之间粘贴一个功率计。这是一个程序:

  1. 测量基线能源使用情况,即除了操作系统和浏览器之外没有任何运行,并且浏览器完全静态(即不做任何事情)。您需要确保一切都处于稳定状态 (SS),这意味着只有在空闲几分钟后才开始测量。
  2. 测量执行您想要的操作的使用情况。同样,您要避免任何启动和停止工作,因此请确保在开始操作后至少 15 秒开始测量。停止不是问题,因为浏览器会在您完成测量后执行任何终止代码。

听起来很简单,对吧?不幸的是,由于您测量的性质,存在一些问题。

你还记得谈论信噪比的物理课(或 EE 课)吗?好吧,向下滚动消耗的能量非常少,因此信号(滚动)在噪声中很好(正常的背景过程)。这意味着您必须采集大量样本才能获得任何有用的信息。

您的浏览器启动能耗或其他任何使用大量处理的东西都更容易测量(更好的信噪比)。

此外,请确保您了解底层电子设备。例如,功率是 VA(电压*安培),其中 V 和 A 同相。我不认为这将是一个问题,因为我很确定它们与计算机同步。此外,任何体面的功率计都了解其中的区别。

我猜您打算为移动设备执行此操作。您的测量结果在处理器之间只会大致相同。这是由于代与代以及制造商之间的架构差异所致。

祝你好运。

于 2015-11-30T15:39:55.267 回答