# Display & Monitor Test

> 在瀏覽器中測試螢幕：亮點死點、背光漏光、色帶、gamma、殘影與文字銳利度，另有顯示資訊面板附量測更新率、色域與 HDR 支援。線上免費。

- URL: https://bytescope.dev/zh-Hant/screen-test/
- Locale: zh-Hant · Also: [en](https://bytescope.dev/en/screen-test.md) · [ja](https://bytescope.dev/ja/screen-test.md)
- Runs: 全部在你的瀏覽器裡跑，什麼都不會上傳。
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

這個顯示器測試分成兩半。資訊面板會讀出你的螢幕實際上是什麼：實體與 CSS 解析度和像素比、色彩深度、廣色域支援（sRGB / P3 / Rec.2020）、HDR 能力，以及從影格時間戳即時量測到的真實更新率 — 常常會揭露一台號稱「144 Hz」的筆電面板其實跑在 60 Hz。接著測試圖樣讓你能全螢幕、一次一下地檢視面板本身。

這些圖樣涵蓋了評測者與買家實際會做的檢查：檢查亮點與死點的純色循環、找背光漏光與均勻度的純黑與純白、讓 8 位元色帶現形的逐色版漸層、一張 gamma 圖表、檢查殘影與動態清晰度的移動物體測試、在你的縮放設定下檢查銳利度的文字樣本，以及給觸控螢幕的多點觸控板。每個圖樣都附一行指引，說明要看什麼、健康的螢幕應該呈現什麼樣子 — 大多數測試網站只給你圖，剩下的讓你自己猜。

這一切都在你的瀏覽器中以 canvas 和 SVG 產生 — 不用下載或安裝任何東西，因此非常適合在退貨期限前檢查一台新螢幕、在交接時驗證一台二手螢幕，或診斷一台突然看起來不對勁的面板。

另有三個圖樣挖得更深。HDR 能力矩陣會逐項偵測方程式的兩邊 — 你的顯示器是否宣告支援 HDR，以及這個瀏覽器是否真能以 10 位元 PQ（Rec.2020）HDR 組態解碼 HEVC、VP9 與 AV1 — 因為螢幕可能宣告支援 HDR，瀏覽器卻默默退回 SDR 解碼，反之亦然；在 HDR 顯示器上還會加上一條近白漸層，用來檢查高光的分離。色準參考卡把標準 sRGB 色塊 — 標好數值的灰階段、原色與二次色、膚色與記憶色 — 排在中性灰的環境色上，讓你在動用校色器之前先用肉眼看出色偏。還有一組專門的燒屏／殘影圖，跑 25/50/75% 純灰加上全彩色場，並附一個可以放著讓它自己跑的自動循環模式，用來揪出 OLED 燒屏或 LCD 殘影。

## Limits

Does not calibrate colour or measure brightness in nits; it shows test patterns and reports what the browser knows about the display.

## Machine output

Copy JSON copies an envelope `{ tool, url, generatedAt, userAgentHint, result }`. `tool` is `"screen-test"`; `result` is what the browser reported (`window.screen`, matchMedia, `devicePixelRatio`) or what this tab measured from rAF deltas — not the panel's factory specification. OS-renameable screen labels are omitted.

- `reportedCssScreenWidth` (number | null) — `window.screen.width` (CSS px). `null` = not read yet.
- `reportedCssScreenHeight` (number | null) — `window.screen.height` (CSS px). `null` = not read yet.
- `estimatedPhysicalWidth` (number | null) — `reportedCssScreenWidth * devicePixelRatio`, rounded. An estimate, not EDID. `null` = width or DPR not read.
- `estimatedPhysicalHeight` (number | null) — Same estimate for height. `null` = height or DPR not read.
- `devicePixelRatio` (number | null) — `window.devicePixelRatio`. `null` = not read yet.
- `reportedColorDepth` (number | null) — `window.screen.colorDepth`. `null` = not read yet.
- `viewportWidth` (number | null) — Layout viewport width. `null` = not read yet.
- `viewportHeight` (number | null) — Layout viewport height. `null` = not read yet.
- `reportedMaxTouchPoints` (number | null) — `navigator.maxTouchPoints` after mount. `null` = not read yet. `0` is a real report.
- `reportedColorGamut` (string | null) — Widest matching `(color-gamut: …)` token: `"rec2020"` | `"p3"` | `"srgb"` | `"unknown"`. `null` = not queried yet. `"unknown"` = queried, nothing matched.
- `browserReportsHdr` (boolean | null) — `matchMedia('(dynamic-range: high)')`. `null` = not queried.
- `browserReportsHdrVideo` (boolean | null) — `matchMedia('(video-dynamic-range: high)')`. `null` = not queried.
- `reportedPointerFine` (boolean | null) — `matchMedia('(pointer: fine)')`. `null` = not queried.
- `measuredRefreshRateHz` (number | null) — Median refresh rate measured from rAF deltas on this tab. `null` = not enough samples. Not the panel's rated Hz.
- `snappedRefreshRateHz` (number | null) — Nearby common rate when the measurement is within ~2%. `null` = no measurement, or nothing nearby.
- `windowManagementApiPresent` (boolean | null) — Window Management API (`getScreenDetails`). `null` = API present (or unknown), user has not clicked yet; `false` = probed, API missing; `true` = API exists (permission may still be denied).
- `multiScreenProbe` (string) — `"idle"` | `"unsupported"` | `"denied"` | `"ok"`.
- `screens` (array of objects) — Screens from `getScreenDetails`, in API order. Empty until `ok`. Each item: reportedWidth, reportedHeight, isPrimary, isInternal, devicePixelRatio (`null` when that screen did not report DPR).
- `deadPixelUserVerdict` (string | null) — `"pass"` | `"fail"`. `null` = not confirmed (opening the pattern is not a pass).

## FAQ

### 我要怎麼檢查亮點死點？

全螢幕執行純色循環，用點擊或空白鍵逐一切過黑、白、紅、綠、藍。在每個顏色上都保持黑色的像素是死點；卡在單一顏色的像素會在互補的畫面上現形。先把螢幕擦乾淨 — 灰塵是最經典的誤判來源。

### 卡住的像素能修好嗎？

有時候可以。死點（永遠黑色）像素通常是永久性的硬體故障，但卡住的次像素偶爾會在快速色彩循環或用軟布輕柔按摩後恢復。請查看你顯示器的亮點死點保固政策 — 許多製造商會在超過一定數量時更換面板。

### 為什麼量測到的更新率和我顯示器的規格不一樣？

測試量測的是實際送到瀏覽器視窗的影格。數字偏低的常見原因：作業系統的顯示設定停在 60 Hz、視窗在多螢幕設定中位於較低 Hz 的螢幕上、省電模式正在限制，或瀏覽器對動畫設了上限。它量測的是視窗目前所在的那個螢幕。

### 什麼是背光漏光？多少算正常？

在暗房中的純黑圖樣上，LCD 背光從邊緣／角落漏出會呈現為較亮的斑塊。幾乎每台 LCD 都有一些；當它在正常亮度、播放暗色內容時明顯可見，就算是瑕疵。OLED 面板則完全沒有（每個像素自己發光）。

### 這個測試支援 HDR 與廣色域嗎？

資訊面板會偵測你的顯示器與瀏覽器是否宣告支援 HDR（dynamic-range: high），以及涵蓋哪個色域（sRGB、Display-P3、Rec.2020）。專門的 HDR 圖樣走得更遠：它透過 MediaCapabilities API 逐項偵測 HEVC、VP9 與 AV1 在 10 位元 PQ 組態下的 HDR 影片解碼能力，並在 HDR 顯示器上加上一條近白漸層，供你主觀檢查高光分離。

### 為什麼沒有真的 HDR 影片片段可播？

一段真正能操到峰值亮度餘裕的 HDR10 樣本，需要一個好幾 MB 的 HEVC/AV1 檔案，加上因瀏覽器而異的 codec 支援，而 2D canvas 在物理上根本無法輸出真正的 PQ 訊號 — 所以與其造假，HDR 圖樣給你的是誠實的能力矩陣（顯示器 HDR 加上各 codec 的解碼支援）與一條 SDR 範圍內的漸層。矩陣會告訴你 HDR 播放是否可行，只是不附上那段片段而已。

### 我要怎麼檢查 OLED 燒屏或 LCD 殘影？

全螢幕執行燒屏圖樣，逐一切過 25/50/75% 純灰與全彩色場 — 先前顯示內容（工作列、logo）殘留不去的淡淡鬼影就是 OLED 燒屏；LCD 上約一分鐘後淡去的暫時陰影則是殘影，通常無害。自動循環模式會讓色場持續輪替，也可以用來幫助抹平輕微的殘影。

### 色準參考卡能取代校色器嗎？

不能 — 而且它有明說。這是一張標好數值的視覺參考：標準 sRGB 灰階段、原色／二次色、膚色與記憶色，放在中性灰環境色上，方便用肉眼抓出明顯的色偏、過飽和或壓黑的暗部。真正的校正仍然需要硬體校色器（Spyder、ColorMunki 等，搭配 DisplayCAL 之類的軟體）直接量測面板。
