✦實驗室 · 工程紀錄

Remio 實驗室——來自 像素管線的筆記。

Remio 是由一個小團隊公開打造的。這是我們的工作紀錄——我們拆開重做的擷取路徑、讓我們意外的編碼器設定、被我們打破又重建的延遲預算。較新的條目在最上面;較舊的則保持原樣,即使我們後來改變了想法也一樣。

最後更新 2026-05-197 篇條目依時間排序,最新的在前

✦研究筆記

依序排列的工程紀錄。

每個條目都標有日期與狀態,內容完整獨立。已上線表示這項變更已在最新版本中運作,實驗中表示我們仍在量測,已封存表示我們已經往前走了。

已上線

虛擬顯示器現在會跟隨用戶端視窗。

好幾週以來,macOS 主機都把虛擬顯示器固定在用戶端螢幕的解析度,這代表只要任何一邊有變動,主機游標與用戶端游標對大小的認知就會不一致。我們重寫了虛擬顯示器管理程式,讓主機的工作區即時跟隨用戶端視窗的畫布。現在不論視窗大小,跨越邊界時游標大小都會一致,就像 Apple 螢幕共享一直以來的表現。

虛擬顯示器邏輯點 ≡ 用戶端視窗畫布點  ·  像素上限 3840  ·  Retina 1× 或 2× 依視窗原生像素範圍選擇

實驗中

為什麼我們把虛擬顯示器的範圍上限設為 3840 像素。

macOS 內部用來為虛擬顯示器建立顯示模式的框架,有個不聲不響的破壞性行為:當最大尺寸設為 4096 或以上時,它會在最大值憑空造出一個 2× Retina 的幻影模式,並搶走啟用旗標。要求的像素數量會翻倍。我們花了四個夜晚反覆探測與記錄,以實證確認了這點。3840 剛好能容納每台 Retina MacBook 的全螢幕,加上一台 4K 外接螢幕,框架也就不再憑空合成。我們仍在觀察長尾的情況。

實證在 ≥ 4096 時損壞  ·  上限 = 3840  ·  涵蓋 MacBook Pro 16″ Retina(3456 × 2234)與 4K 外接螢幕(3840 × 2160)

已上線

為期一週的實驗後,退回先前的串流引擎版本。

我們用較新的分支重新建置了串流引擎,希望更新後的節奏控制邏輯,能在區域網路路徑上省下幾毫秒。結果,在我們量測的每一個遠端連線上,接收緩衝區都退步了:端對端中位數增加 18 毫秒,變異也變大。我們在 iOS、macOS、Android 與 Windows 上全部退回穩定版本。新分支的修補已封存起來,以備上游的行為改變。

新版本中位數延遲 · 遠端 64 毫秒  ·  先前版本中位數 · 遠端 46 毫秒  ·  調校旗標未變

已上線

從第一個往返樣本,自適應偵測區域網路與遠端的位元率。

主機現在會在連線建立後,等待第一次往返時間的量測,然後在兩種位元率範圍中擇一。低於 15 毫秒時,連線會被視為區域網路直接連線:起始 8 Mbps、最低 8 Mbps、最高 30 Mbps。高於 15 毫秒時,則視為經由中繼或距離遙遠:起始 2 Mbps、最低 300 Kbps、最高 15 Mbps。這個門檻落在同網路 WiFi 與任何合理的行動網路或跨區域中繼之間,所以在測試版遙測中誤判很少見。

區域網路直接 · 1 – 5 毫秒  ·  同網路 WiFi · 5 – 10 毫秒  ·  區域中繼 · 30 – 80 毫秒  ·  4G · 40 – 100 毫秒

已上線

把 AMD 上的硬體 H.265 作為 Windows 主機的主要編碼器。

經過與其他編碼器的長期比拚,AMD 上的硬體 H.265 在我們在意的每一項 Windows 主機基準測試中都勝出:較低的編碼時間中位數、較低的關鍵影格突波,而且超低延遲的固定位元率預設組態,在緩衝壓力下的表現可預期。當 GPU 不配合時,則以 H.264 作為備援。B 影格關閉。低延遲旗標開啟。編碼器每個擷取時刻都只輸出剛好一個影格。

位元率 · 固定 8 Mbps  ·  fps · 60  ·  緩衝 · 1 影格  ·  B 影格 · 0  ·  預設組態 · 超低延遲

已封存

為什麼我們完全不再緩衝影格。

遠端桌面不是視訊通話。每個影格都是最新的螢幕狀態。舊的影格,就定義上來說,就是謊言。我們重建了接收路徑,讓它不再有播放緩衝:影格抵達、解碼、繪製,依序在同一個影格間隔內完成。遺失的封包若還來得及送達,就會立刻重新傳送;若來不及,Remio 會直接略過它,並要求一個新畫面,而不是乾等。我們接受偶爾短暫的凍結,但不接受佇列所帶來、持續不斷的毫秒稅。

強制播放延遲 · 最小 0 / 最大 0  ·  最小播放延遲 · 0  ·  遺失的封包若來得及就重傳,否則改要新畫面

已封存

第一次把延遲預算寫下來。

我們坐在一個房間裡,從希望使用者感受到的數字往回推——在一般的區域網路連線中,從玻璃到玻璃不到二十毫秒。擷取、編碼、節奏控制、傳送、接收緩衝、解碼、繪製。我們把每一項都寫下來,並給它一個可以拿來量測的毫秒預算。這份紀錄裡的大多數條目,都來自於在實際流量中捍衛這些數字。

擷取 · 1 毫秒  ·  編碼 · 3 毫秒  ·  節奏控制突發 · ≤ 10 毫秒  ·  接收緩衝 · 0 毫秒  ·  解碼 · 2 毫秒  ·  繪製 · 1 毫秒

✦訊號範圍

我們逐次連線量測的東西。

這四個數字會出現在每一則版本說明中,因為它們描述的是連線實際的感覺——而不是規格表上宣稱的東西。

串流解析度
最高 6K原生像素範圍,Retina 1× 或 2× 依視窗選擇
畫面更新率
最高 120 fps固定節奏、停用 B 影格、每個影格一個擷取時刻
處理延遲,區域網路
~8 ms在裝置對裝置的直接連線上內部實測——其餘是你螢幕本身 60 Hz 的更新節奏
傳輸加密
端對端端對端加密,每次都使用全新的連線金鑰
Remio App 圖示

追蹤打造的過程,而不是產品簡介。

每當有東西上線,或有東西壞掉,實驗室就會更新。如果這聽起來比每季電子報更有用,下載連結就在一鍵之外——想看完整版的話,安全性白皮書也是。

不需帳號沒有追蹤像素公開打造