把 Mac 独立窗口搬上 iPad:Sill 零云端串流管线、VideoToolbox 信箱调度与硬件级极低延迟实录
在多设备协同的日常工作中,我一直对现有的远程桌面方案感到非常别扭:无论是 VNC、RDP 还是各种投屏工具,本质上都在做“整屏镜像”。当你把一块 16:10 的 4K Mac 桌面塞进 11 英寸或 13 英寸的 iPad,甚至 6 英寸的 iPhone 时,窗口挤成一团,文字小如米粒,操作全靠两指缩放,体验支离破碎;而苹果官方的 Sidecar 不仅将设备限制在同 Wi-Fi 和 iPad 上,还依然停留在虚拟扩展屏的整屏交互思维。
近期由 Noah Saffer 开源的项目 Sill(GitHub: Saffsanity/sill)引起了我的极大兴趣。它彻底颠覆了“投屏即整屏”的固有模式,专注实现单个 Mac 独立窗口向 iPhone、iPad 乃至折叠屏的硬件级超低延迟串流。更让我惊艳的是,Sill 全程基于纯 Swift 开发,没有任何第三方依赖,完全抛弃中心化云端服务器,将端到端玻璃到玻璃(Glass-to-glass)的交互延迟硬生生压到了 40 到 60 毫秒以内。今天我就带大家深入它的源码骨架,拆解它在 ScreenCaptureKit、VideoToolbox 硬件编码避坑、CoreGraphics 虚拟舞台以及原生无感交互上的工业级设计。