用 Foveated Streaming 把遠端高算力內容接進 visionOS
這場 session 說明 visionOS 的 Foveated Streaming framework 如何讓 Apple Vision Pro 作為 receiver,連到 PC 或雲端 endpoint,把 OpenXR spatial content 以影像與音訊串流進沉浸式空間,同時仍能保留原生 visionOS UI 與 RealityKit 內容。
Foveated Streaming 的價值不是把 Vision Pro 變成普通串流螢幕,而是讓遠端 OpenXR renderer 負責重算力畫面,visionOS app 負責連線、空間組合、輸入轉送與效能量測。
這支影片在拆三個 visionOS 產品問題
既有 PC / OpenXR 場景不必全部重寫成原生 app
framework 讓外部 endpoint 串流 immersive content;Vision Pro 端可先承接現有高算力場景,再逐步加入原生 SwiftUI、RealityKit 或平台功能。
visionOS app 是 receiver,不是被動播放器
app 要建立 StreamingSession、連接 endpoint、把 StreamingSurface 放入 ImmersiveSpace,並處理狀態、錯誤、輸入與組合。
手、控制器、麥克風等 input 會送往 endpoint
visionOS 自動提供 hand、controller position、microphone 等資料,外部 renderer 回傳 OpenXR content 的 video/audio,降低自建 streaming protocol 成本。
串流畫面可以和 SwiftUI / RealityKit 一起構成體驗
session 強調不只顯示遠端影像,也能疊加 visionOS controls、spatial UI、RealityKit content,讓產品不像單純遠端桌面。
導入 Foveated Streaming 的接收端流程
先準備 streaming endpoint
PC 或 cloud instance 端負責 OpenXR rendering,並支援 Foveated Streaming 的 endpoint 連線。產品要先界定延遲、網路、GPU 與內容來源。
建立 visionOS receiver app
在 visionOS app 內建立 StreamingSession,管理 endpoint discovery / connection lifecycle,並把使用者可理解的連線狀態帶進 UI。
把 StreamingSurface 放進 ImmersiveSpace
session 內容透過 StreamingSurface 顯示在沉浸式空間中;這是把遠端 renderer 的畫面放到 visionOS spatial scene 的核心。
組合原生 SwiftUI 與 RealityKit
在遠端串流畫面旁放控制面板、狀態提示、3D 原生物件或現實世界輔助,避免體驗退化成只有影像。
量測效能與舒適度
用官方建議的 performance measurement 觀察 latency、frame pacing、streaming quality 與互動一致性,特別要測網路波動與 endpoint 負載。
重點 1:Foveated Streaming 是 visionOS 的第三條移植路徑
影片把 visionOS 體驗分成幾條路:iOS / iPadOS 相容或重新編譯、原生 spatial app、第三方引擎,以及把 PC / macOS 既有高算力內容延伸到 Apple Vision Pro。Foveated Streaming 專注最後一種:不用一開始就把整個 OpenXR 或 PC renderer 重寫,但仍可進入 visionOS 沉浸式體驗。
適合的場景不是所有 app,而是本來就需要外部 GPU、模擬器、CAD、訓練、工業視覺化或高保真 3D 內容的產品。若內容本身能在 Vision Pro 原生跑,仍應評估原生渲染是否更簡單。
重點 2:產品品質取決於連線、延遲與 fallback
官方 demo 看起來像一條順暢 pipeline,但實務上最難的是狀態管理:endpoint 找不到、網路抖動、使用者離開沉浸式空間、串流品質下降、輸入資料不同步,都會直接影響舒適度。這類產品應該把 streaming state 當成一級產品狀態,而不是背景細節。
風險與遷移注意事項
Foveated Streaming 會把 app 風險從單機渲染擴大到跨裝置、網路與遠端 renderer。導入時要把以下項目納入設計與 QA,而不是等到 demo 完成後才補。
來源
主要來源為 Apple Developer 官方影片頁、官方 transcript、章節摘要與 YouTube 影片 metadata。官方頁:Use foveated streaming to bring immersive content to visionOS - WWDC26。YouTube:WWDC26: Use foveated streaming to bring immersive content to visionOS | Apple。
- →Foveated Streaming 讓 Vision Pro 可接收 PC / cloud OpenXR 高算力內容,但 app 端仍要負責 receiver lifecycle。
- →核心 primitive 是 StreamingSession 與 StreamingSurface,導入時要設計連線狀態、沉浸式顯示與原生 UI 組合。
- →最重要的 QA 不是只有畫面能跑,而是 latency、frame pacing、endpoint fallback、輸入同步與使用者舒適度。
- →適合 CAD、模擬、訓練、工業視覺化與大型 3D 場景;簡單內容仍應優先評估原生 visionOS rendering。