搜索
首页web前端css教程考虑使用电力和网站

Thinking About Power Usage and Websites

Gerry McGovern 询问我对网站能耗是否有什么见解。毕竟,他写过一本关于数字技术对地球影响的书。他想知道网络技术的具体细节,例如……

如果用 HTML 实现这个功能,它将消耗 3 倍的能量,但如果用 JavaScript 实现,它将消耗 10× 倍的能量。

我认为,如果真的仔细研究,并知道如何精确测量,就能找到这样的例子。假设我想将一个元素在屏幕上移动。如果我在 JavaScript 中编写一个 setInterval 循环,每毫秒将相对定位元素的 left 位置递增一次,我 99% 确定这比使用 CSS @keyframes 动画在相同时间内更改 transform: translateX() 值更耗电。在这个例子中,通常我们更关注性能而不是能耗,但这立刻就很有趣:良好的性能是否与更低的能耗相关?很可能。

研究人员已经对此进行了研究。

我们发现移动 Web 应用的性能分数与能耗之间存在统计学意义上的负相关(中等至大的效应量),这意味着性能分数的提高往往会导致能耗的降低。

他们在 Android 上使用 Lighthouse 分数测试移动 Web 应用。我猜这与其他平台和其他性能指标也相当吻合。

我很高兴目前的研究结果与我逻辑上预期的结果相符。导致性能不佳的事情往往也是耗能的事情。想象一下图像。如果提供过大或未优化的图像,你的性能分数就会降低。想象一下这带来的性能影响。服务器上有两张图像,一张大,一张小。哪一张传输到用户的计算机需要消耗更多电力?大的那张。哪一张需要更多的处理能力来解析和显示?大的那张。哪一张在屏幕上显示期间占用更多内存(这也会消耗电力)?大的那张。

网络传输越少,电力消耗越少。

浏览器需要做的越少,电力消耗越少。

一些每隔几秒钟自动刷新的广告?它不仅令人讨厌,而且浪费带宽,从而浪费电力。每当你必须使用轮询(即反复发出网络请求)而不是基于事件的 WebSockets 时?这都在消耗你可能不需要消耗的电力。

我们知道 CDN 也能提高性能。文件(如图像)无需跨越全球传输,而是来自地理位置更接近的服务器,并且该服务器专为此项工作而设计。这也就是事情对我来说变得有点模糊的地方。

以性能为目标:目标达成。以低能耗为目标,我们达成了吗?

这项研究已经进行过,但不幸的是,我无法仅从摘要中得知结论。在我看来,世界各地的服务器都存储着这些资源的副本,当资源发生变化时,不仅仅是一个服务器更新,而是世界各地的服务器都会更新。在节省请求效率所实现的节省方面,必须在传播和重复存储之间取得平衡。

说到存储效率,我确信仅仅存储在磁盘上的存储所消耗的电力远少于通过网络发送的文件——但它仍然有成本。假设你每次更改文件时都保存一份副本。假设你每次部署网站时都保存网站的完整副本。有用吗?当然。这会消耗电力吗?一定会的。一定需要在两者之间找到一个平衡点。

然而,Gerry 询问的是特定技术。我能想到 CSS 领域中另一件大事:暗模式!同样,它也已被研究过。暗模式可以节省电力。

对于我们测试的一组流行的 Android 应用,暗模式确实可以将全亮度下的显示功耗降低高达 58.5%!就整个手机电池续航时间减少而言,这意味着在全亮度下可以节省 5.6% 到 44.7%,在 38% 亮度下可以节省 1.8% 到 23.5%。

那么比较技术呢?我怀疑这更多的是关于该技术(或语言)正在做什么,而不是语言本身。例如,我可以使用

元素在 HTML 中构建一个可以打开和关闭的小区域。这比在按钮上附加一个点击处理程序来切换视觉上打开和关闭元素的类的区域更节能吗?我有点怀疑。我敢打赌,浏览器正在执行的重新绘制/重新渲染步骤以及背后的语言与电力消耗的相关性较小。然而!如果我让浏览器下载一个 50 KB 的 JavaScript 库只是为了实现我的小打开/关闭元素,那么是的,这确实很重要,并且 JavaScript 版本效率较低。

这样,正如良好的性能通常与更低的能耗相关一样,我敢打赌,遵守最小功耗规则通常也与更低的能耗相关。

厌倦了我对事情的猜测?可以理解。

Jack Lenox 在 Smashing 上发表的文章“如何提高网站性能以帮助拯救地球”更深入地探讨了这个问题。他指出了可以测试你网站的网站。网站碳排放量计算器就是一个例子,它指出:

计算网站的碳排放量是一项挑战,但使用五个关键数据,我们可以做出相当不错的估计:

  1. 线上数据传输
  2. 网络数据的能源强度
  3. 数据中心使用的能源
  4. 电力的碳强度
  5. 网站流量

测试代码是开源的。

以上是考虑使用电力和网站的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
我们如何标记Google字体并创建Goofonts.com我们如何标记Google字体并创建Goofonts.comApr 12, 2025 pm 12:02 PM

Goofonts是由开发人员和设计师丈夫签名的附带项目,它们都是版式的忠实拥护者。我们一直在标记Google

永恒的Web开发文章永恒的Web开发文章Apr 12, 2025 am 11:44 AM

Pavithra Kodmad向人们询问了他们认为是关于网络开发的一些最永恒的文章的建议

与部分元素的交易与部分元素的交易Apr 12, 2025 am 11:39 AM

同一天发表了两篇文章:

使用JavaScript API的状态练习GraphQl查询使用JavaScript API的状态练习GraphQl查询Apr 12, 2025 am 11:33 AM

学习如何构建GraphQL API可能具有挑战性。但是您可以学习如何在10分钟内使用GraphQL API!碰巧的是,我得到了完美的

组件级CMS组件级CMSApr 12, 2025 am 11:09 AM

当一个组件生活在数据查询居住在附近的数据查询的环境中时,视觉组件与

将类型设置在圆上...带偏移路径将类型设置在圆上...带偏移路径Apr 12, 2025 am 11:00 AM

这里是Yuanchuan的一些合法CSS骗局。有此CSS属性偏移路径。曾几何时,它被称为Motion-Path,然后被更名。我

'恢复”在CSS中有什么作用?'恢复”在CSS中有什么作用?Apr 12, 2025 am 10:59 AM

Miriam Suzanne在Mozilla开发人员的视频中解释了该主题。

现代恋人现代恋人Apr 12, 2025 am 10:58 AM

我喜欢这样的东西。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版