搜尋
首頁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
有多少個CSS屬性?有多少個CSS屬性?Apr 12, 2025 am 09:53 AM

托馬斯(Tomasz)發表了一條笑話推文,講述了所有CSS屬性的命名,Tejas Kumar笑著回答,甚至是製作NPM模塊。你

如何使用Greensock在網上動畫如何使用Greensock在網上動畫Apr 12, 2025 am 09:48 AM

確實有成千上萬種在網絡上進行動畫動畫的方法。我們之前介紹了不同動畫技術的比較。今天,我們要去

您如何在CSS中進行最大尺寸?您如何在CSS中進行最大尺寸?Apr 12, 2025 am 09:45 AM

CSS不具有最大尺寸,因此,如果我們需要按照這些行執行某些操作的東西,我們就必須變得棘手。

價格為四個佈局價格為四個佈局Apr 12, 2025 am 09:40 AM

當有關Flexbox佈局的推文在Twitter上獲得8K喜歡時,非常值得注意!

超越'使用”元素的自動SVG壓縮超越'使用”元素的自動SVG壓縮Apr 12, 2025 am 09:39 AM

如果您繪製自己的SVG文件或從Internet下載它們,那麼SVG-編輯或SVGOMG之類的工具是您的朋友。用

使用並重用SVG中的所有內容……甚至動畫!使用並重用SVG中的所有內容……甚至動畫!Apr 12, 2025 am 09:36 AM

如果您熟悉SVG和CSS動畫並經常與它們合作,那麼這裡可能需要牢記一些想法

靈活的字幕傾斜圖像靈活的字幕傾斜圖像Apr 12, 2025 am 09:31 AM

埃里克·邁耶(Eric Meyer)關於創建這一行傾斜圖像的最終結果非常優雅。但是它比目的地更多地對旅程(在那裡)

調整CSS中的步驟調整值調整CSS中的步驟調整值Apr 12, 2025 am 09:28 AM

實際上,CSS中有一個步驟()函數,但是它僅用於動畫。例如,您可以告訴一個元素,允許它的高度增長,但只有

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中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。