derpy

@derpy

Joined on Feb 22, 2020

  • 瀏覽器為了避免閒置頁籤浪費資源的種種節流 ❓ 前端用 setInterval 寫的時鐘,過一陣子回來越跑越慢了,為什麼? 在背景頁籤中執行的 Timer 會默默消耗莫大的資源,沒在使用的閒置頁籤甚至影響到正在使用的頁籤,為了避免不必要的資源浪費,瀏覽器會針對閒置狀態等頁籤的 Timer 做節流 在 Chrome 上,<span class="blue">無論程式碼中設定的 Interval、Timeout 時間為多少,Chrome 都會強制設定為至少一秒。</span>意指如果你原本程式中寫的是 setInterval() 每 50ms 執行一次,但只要進入其他頁籤,讓該頁籤進入背景時,該 Interval 執行時間會節流至<span class="blue"> 每 1000ms </span>執行一次,<span class="blue">但是只要重新點回該頁籤,Timer 的節流又會取消</span> 在 2021年1月 時,<span class="blue">Chrome 88 </span>以上的版本甚至在特定條件下,該節流時間會被拉長到 <span class="blue">1分鐘</span> 一些後面會提到的術語也先做基本講解:
     Like 1 Bookmark