Gaze Guard 耗電量實測:Chrome 擴充功能跑 MediaPipe 到底多耗電?
MediaPipe 在 Chrome Extension 背景持續跑人臉偵測到底多耗電?實測 SoC 層級數據,拆解 GPU/ANE 開銷。
背景
Gaze Guard 是一個 Chrome Extension,透過攝影機偵測是否有人從遠處偷看你的螢幕,所有運算完全在本機完成。
核心技術:MediaPipe FaceLandmarker(WASM)在 offscreen document 背景以約 10 FPS 持續跑人臉偵測,估算距離與頭部朝向,判斷是否觸發提醒。
一直好奇:這樣的背景推論到底有多耗電?最直接的問法就是——開啟監控 vs 關閉監控,差多少?
結論先講:開啟監控比關閉約多耗 277 mW(SoC 層級),主要來自 GPU 與 ANE。換算 MacBook Pro M4 電池續航大約少 12–17 分鐘(約 2.8%)
怎麼測的?
sudo powermetrics --samplers cpu_power,battery -i 5000 -n 1
分別在以下兩個狀態各取一次 snapshot:
- 未啟動:Extension 已安裝,但監控功能未開啟(無攝影機串流、無推論)
- 監控中:正常使用狀態,10 FPS 持續偵測
測試機器:MacBook Pro M4 Pro / macOS 15
⚠️ 每個條件只取一次 snapshot,單次測量有雜訊,僅供參考趨勢。
開、關監控差多少?(SoC 層級)
| 狀態 | CPU | GPU | ANE | SoC 合計 |
|---|---|---|---|---|
| 未啟動監控 | 110 mW | 78 mW | 0 mW | 188 mW |
| 監控中 | 165 mW | 259 mW | 41 mW | 465 mW |
| 差額 | +55 mW | +181 mW | +41 mW | +277 mW |
開啟監控後,整體 SoC 耗電從 188 mW 上升到 465 mW,多出約 277 mW。
哪個元件最耗電?
1. GPU 才是主要耗電點
開始監控後,GPU 從 78 mW 跳到 259 mW(+232%),是三個區塊裡增幅最大的。原因有兩層:
- Chrome webcam pipeline:video stream 由 Chrome 處理、常駐運作,是 GPU 上升的大頭
- MediaPipe detectForVideo() 推論:每幀人臉偵測的額外 GPU 成本
2. ANE 模型常駐 +41 mW
只要監控啟動,Apple Neural Engine 就維持 41 mW。這是 MediaPipe WASM 初始化後的常駐開銷,未啟動時為 0。
3. CPU 增幅最小
CPU 只從 110 mW 上升到 165 mW(+55 mW)。推論與影像處理主要落在 GPU 與 ANE,CPU 不是瓶頸。
對電池續航影響多大?
假設輕度作業情境總系統耗電 10 W(含螢幕、Wi-Fi、SSD 等):
| 機型 | 電池 | 未啟動 | 監控中 | 損失 |
|---|---|---|---|---|
| MBP M4 Pro 14" | 72.0 Wh | 7 h 12 min | 7 h 00 min | -12 min |
| MBP M4 Pro 16" | 99.6 Wh | 9 h 58 min | 9 h 41 min | -17 min |
監控功能對電池續航影響約 2.8%,換算約 12–17 分鐘。
結論
| 數據 | |
|---|---|
| 開啟監控額外耗電 | +277 mW SoC(vs 未啟動) |
| 主要來源 | GPU +181 mW、ANE +41 mW、CPU +55 mW |
| 電池續航差異 | MBP M4 Pro 約 12–17 分鐘(2.8%) |
對於一個需要持續本機推論的隱私保護工具來說,277 mW 的額外開銷在可接受範圍內。要省電的話,比起壓低偵測頻率,更有效的方向是在「長時間沒有外來人臉」時暫停推論——但那是另一個功能了。
常見問題
Gaze Guard 很耗電嗎? 開啟監控比關閉約多耗 277 mW,日常輕度使用下,筆電電池續航約少 12–17 分鐘(約 2.8%),屬於可接受範圍。
調低偵測 FPS 能省電嗎? 效益極低。耗電大頭是 Chrome 的 webcam pipeline 與 GPU,這部分成本與 FPS 無關,所以把 FPS 調低省不了多少電。
哪個元件最耗電? GPU 增幅最大(+181 mW),其次是 Apple Neural Engine(+41 mW),CPU 只多 55 mW。
English version: Gaze Guard Power Draw Measured 測試日期:2026-06-17 / Extension 版本:v1.0.3 GitHub:steepinglogic/gaze-guard