前言
我一直用着一个笔记本电脑,负责我的工作和娱乐需求。但由于我经常有多地周转的原因,我到现在也没给我的笔记本电脑配一个显示器,说实话是我有点太挑了,而且我一想要买两个家里和宿舍都要有一个就干脆不买先了,这样一纠结就以至于我大学快毕业了还没买。
说实在的实在忍受不了我的电脑屏幕不够大,打游戏又不够爽,写代码这块屏幕上能放的窗口又有限。反正我是有点后悔我当初没下定决心整个显示器的,贵点就贵点吧,我就算再挑剔也能爽爽几年。
后来直到我玩上了Apple vision Pro的时候,我才知道有sunshine这种东西,可以将电脑上的游戏画面串流上去。但是我还是不想折腾,他的好处我倒是记住了,于是我最近折腾了一下,为我的电脑用,至于avp?吃灰吧他。
我的平板是华为matepad 11,分辨率是2560*1600,和我的电脑屏幕一样。我试过以该画质 90hz串流,注意到延迟为6ms,体感上也不卡,所以我觉得这套方案是还不错的。
尽管我本人也不是最近天天用这套方案,但是如果你想要拓展出一块副屏,倒是可以考虑一下。
我想要什么样的副屏体验
首先我是要一块拓展的副屏,而不是一块远程控制的屏幕,我不希望平板被误触什么的导致我的鼠标动了,我希望平板放在我的左边,很自然成为我屏幕的衍生。我可以在这边拖放一些串口什么的。这样我可以在主屏幕工作的时候不急着调出来。
其实最好的是那种,主屏幕负责操作,副屏给我放着教程。因为是副屏,所以我可以鼠标拖过去很方便的就可以复制了。我不希望有线,因为我希望我的平板自由点,有时候我需要带着他去别的地方玩金铲铲之战,例如床上。多一根线我感觉也蛮丑的。
整体方案概览
用一张逻辑说明
电脑 → Sunshine(编码) → 局域网 → Moonlight → 平板
↓
Parsec-VDD(虚拟显示器)
一句话说明三者分工:
- Parsec-VDD:创造“第二块屏”
- Sunshine:把这块屏编码推送
- Moonlight:在平板上显示
准备工作
设备要求
- 支持硬件编码(用显卡或核显专用编码单元做视频压缩)的 GPU
- 局域网(建议 5GHz,频段更高、同环境下通常干扰更少)
软件列表
- Sunshine
- Moonlight
- Parsec-VDD
那么,在确定你的设备符合标准,接下来我们来讲解一下,如何安装配置这些软件
如何安装配置Sunshine
我这边按 Windows 来写,先给一套能快速跑通的步骤。
- 下载并安装 Sunshine(建议用官方发布版)。
- 安装后启动 Sunshine,第一次会提示本地管理页,通常是:
https://localhost:47990 - 首次进入先创建管理员账号和密码。
- 进入设置后先做三件事:
- 确认服务已运行(可按需开机自启)。
- 选择对应显卡的硬件编码器(NVIDIA/AMD/Intel)。
- 端口先保持默认,先跑通再调,避免排错复杂化。
- 在 Applications 里添加一个
Desktop项,方便后续直接串流桌面。
把这几步点实一点,第一次配置会省很多时间:
- 建完 WebUI 账号后,进
Settings/Configuration,在General里确认服务状态是Running,并把Start with system(或同类开机启动选项)打开。 - 进
Video/Encoder,按显卡选NVENC/AMF/QSV,选完点击页面底部Save或Apply。 - 进
Applications,点击Add/New/+,添加Desktop(不同版本可能叫 Desktop/Command),保存后确认它出现在应用列表里。 - 音频改完后同样要点
Save/Apply,不保存切页会丢配置。 - Moonlight 端关闭声音的位置通常在
Settings -> Audio Playback,关掉后再重连一次让配置生效。
建议先做一次基础验证:
- Sunshine 状态是运行中。
- Windows 防火墙已允许 Sunshine。
- 局域网内设备可以发现这台主机。
这一步的目标不是“拉满参数”,而是先把连接稳定建立起来。
下面是我自己长期用下来的进阶安装和参数习惯。
Windows 版本怎么选:
Installer:推荐大多数人用,自动注册服务、自动写必要依赖,后续升级也省心。Portable:适合你想放在移动硬盘或无安装权限环境,但服务和路径都要自己管。
首次启动的“服务模式”怎么理解:
- Sunshine 作为后台服务运行后,即使你没打开主界面,它也能响应 Moonlight 连接。
- 这对副屏场景很关键,因为你不想每次手动开一堆窗口。
WebUI 端口解释(默认):
47990:管理页面(HTTPS)。- 你改端口可以,但建议先默认跑通,再改;改完记得同步放行防火墙。
防火墙和端口我自己的做法:
- 首先放行 Sunshine 程序本身(入站/专用网络)。
- 如果你是手动端口策略,保证 Sunshine 使用端口不被拦截。
- 跑不通时先回到“同网段 + 默认端口 + 程序放行”这个最小可行组合。
音频这块如果不提前配好,很容易出现“电脑和平板同时出声”或者“声音跑到平板去了”的情况。我自己的做法是先固定音频策略:
- 在 Sunshine 设置里找到
Audio。 - 输出设备优先手动指定为你电脑正在用的默认扬声器/耳机,不要放自动。
- 如果你只想声音留在电脑本机,优先关闭音频重定向(不同版本文案可能是
Do not redirect audio或类似选项)。 - 在 Moonlight 客户端里把
Audio Playback关闭,避免平板端也播放声音。 - Windows 里再确认一次“默认播放设备”就是你主机本地设备,避免应用切设备后串流端跟着跑偏。
- 虚拟音频设备不是必须项,除非你有录制、混音或多路音频路由需求;普通副屏场景不用额外上虚拟声卡。
我一般按这个顺序排错:
- 先关 Moonlight 音频播放。
- 再看 Sunshine 是否指定到正确输出设备。
- 最后在 Windows 声音设置里确认默认设备没有被改。
编码器指定建议(按显卡):
- NVIDIA:优先
NVENC(NVIDIA 显卡自带的视频硬件编码单元) - AMD:优先
AMF(AMD 显卡的视频编码接口) - Intel:优先
QSV(Intel 核显/独显的视频硬件编码路径)
NVENC preset 我建议:
- 先选低延迟档(Low Latency / P1-P3 这类偏低延迟预设)。
- 画质不够再一点点往高质量预设调,不要一上来就高画质高缓存。
码率估算我一般用这个粗算方法:
- 1080p60:
20-35 Mbps - 1440p60:
35-55 Mbps - 1600p90(你这种平板常见):
45-75 Mbps - 4K60:
60-100+ Mbps
一个简单经验公式(仅做起点):
参考码率(Mbps) ≈ 分辨率像素数 × 帧率 ÷ 5,000,000
然后根据画面复杂度上下浮动 20%-40%。
HEVC vs H.264 怎么选:
- 优先 HEVC(H.265,压缩效率更高的编码标准):同画质下码率更低,Wi-Fi 压力小。
- 兼容或延迟异常时切 H.264(更普及、设备兼容性更高的编码标准):解码压力更低,老设备更稳。
- 原则是“先稳定,再压榨画质”。
如何安装配置Moonlight
Moonlight 端配置很轻量,重点是配对和参数起步。
- 在平板安装 Moonlight(Android/iPadOS 都有版本)。
- 确保平板和电脑在同一局域网(建议 5GHz)。
- 打开 Moonlight,等待自动扫描主机;若未扫描到,手动输入电脑 IP。
- 点击主机后会显示配对码。
- 回到 Sunshine 管理页输入配对码,完成绑定。
手动输入主机 IP 我自己就按这一套:
- 在 Windows 按
Win + R,输入cmd回车。 - 在命令行输入
ipconfig。 - 找你当前正在用的网卡(Wi-Fi 或 以太网),记录
IPv4 地址(例如192.168.1.23)。 - 在 Moonlight 里点
Add Host(或手动添加主机),填这个 IPv4 地址。 - 确保平板和电脑在同一局域网,否则能填上也连不上。
第一次串流建议参数:
- 分辨率先用 1920x1080。
- 帧率先 60fps。
- 码率先中档(例如 20-30 Mbps)。
- 链路稳定后,再逐步提高分辨率和刷新率。
常见问题处理顺序:
- 黑屏或闪退:先降分辨率和帧率,再检查 Sunshine 编码器。
- 卡顿:先降码率看是否立刻改善。
- 连不上:先确认同网段,再看防火墙放行。
Moonlight 这边我平时会额外盯一组参数,能连上和用得稳是两回事。
分辨率匹配策略:
- 最稳做法是:虚拟屏分辨率 = Sunshine 输出分辨率 = Moonlight 接收分辨率。
- 三端不一致会触发额外缩放,直接增加延迟和模糊感。
刷新率同步问题:
- 主机输出 90Hz,但客户端锁 60Hz,会出现节奏不均匀(体感像轻微顿挫)。
- 最好让源端和收端刷新率成整数关系或一致(60/60、90/90、120/120)。
Frame pacing(帧节奏,指每一帧输出时间间隔是否均匀)建议:
- 优先稳定帧间隔,而不是追求瞬时高帧。
- 如果你看到“平均帧率高但体感抖”,通常是 pacing 问题,不只是码率问题。
Bitrate 控制逻辑:
- 先给足最低稳定码率,避免编码器频繁大幅压缩。
- 网络余量不够时,先降分辨率或帧率,再降码率,画面会更可控。
V-Sync 建议:
- 副屏办公/浏览为主:可开,画面更平顺。
- 极限低延迟交互:可关,减少等待垂直同步带来的附加延迟。
HDR 建议:
- 默认不建议一上来开启。
- HDR 会引入额外色彩链路与带宽压力,先 SDR 跑稳,再评估是否值得开。
如何安装配置Parsec-VDD
Parsec-VDD 的作用是给系统“虚拟出一块显示器”,这是副屏模式的关键。
- 下载并安装 Parsec-VDD 驱动。
- 安装完成后重启电脑(不重启经常不生效)。
- 打开 Windows 显示设置,确认出现新的显示器编号。
- 显示模式选择“扩展这些显示器”,不要镜像。
- 给虚拟屏设置分辨率和刷新率(先 1080p/60,再逐步拉高)。
- 打开 Sunshine WebUI,进入 Display / Video / Capture 相关设置,选择要推送的目标显示器。
- 在 Moonlight 发起连接,确认平板端画面是否来自你刚才设置的那块虚拟屏。
Sunshine 里“显示器 ID”建议按这个路径操作:
- 打开 Sunshine WebUI。
- 进入
Settings/Configuration -> Video/Display/Capture(具体名称按版本文案,找 Display/Monitor/Output 相关项)。 - 在目标显示器下拉框里选择一个显示输出(常见是
Display 0/1/2或\\.\DISPLAY1/\\.\DISPLAY2)。 - 选完点击
Save/Apply。 - 回 Moonlight 连接验证画面;如果不是虚拟屏,就回 Sunshine 切换到下一个 ID,再保存再验证。
建议的稳定顺序:
- 先确认虚拟屏能正常显示桌面。
- 再让 Sunshine 推送这块虚拟屏。
- 最后在 Moonlight 对齐分辨率和帧率参数。
实用细节:把虚拟屏在系统中的位置放到主屏左侧或右侧,和你平板真实摆放一致,鼠标跨屏会更自然。
关于“显示器 ID”这件事,我自己踩过的结论是:Windows 里的 1/2/3 和 Sunshine 列表里的索引不一定一一对应。Windows 这个编号更偏逻辑位置,Sunshine 通常按当前枚举到的显示输出顺序列出。
所以我一般不硬猜编号,直接做一个 30 秒确认流程:
- 先在 Windows 里把虚拟屏拖到一个很明显的位置(比如主屏最左侧)。
- 在 Sunshine 里先选一个显示器 ID 推送。
- 平板端看画面是不是那块虚拟屏(窗口、壁纸、鼠标跨屏方向都能很快判断)。
- 如果推错屏,回 Sunshine 切换到下一个显示器 ID,再验证一次。
我还会再加一个识别标记:在 Windows 先把虚拟屏临时改成一个很容易辨认的参数(例如 1280x720 或竖屏方向),这样 Moonlight 一连上就能立刻看出来是不是选对了那块屏。
为了更快定位,我会临时切到“仅在 2 上显示”,应用后再切回“扩展这些显示器”;很多时候这一来一回能把显示状态直接刷出来。确认完 ID 后再按正常扩展模式使用,后面就不用反复猜。
这块原理了解一下,后面排错会快很多。
虚拟显示器驱动工作原理(简化版):
- 驱动向 Windows 显示子系统注册一个“可用显示输出”。
- 系统拿到这个显示设备后,就能给它分配桌面空间和渲染目标。
- Sunshine 再去抓取这个渲染目标并编码推流。
为什么安装后通常必须重启:
- 显示类驱动加载和设备枚举通常在系统启动阶段完成。
- 不重启时,驱动文件在,但设备树里可能还没完成重建。
Windows 为什么会把它当“像物理屏”:
- 关键是驱动提供了显示设备描述信息(含模式能力)。
- 系统关心的是“有没有合法显示输出接口”,不关心它是不是一根真线插着。
EDID 模拟的意义:
- EDID(显示设备能力描述数据)相当于显示器“自我介绍”:支持哪些分辨率、刷新率、色彩能力。
- 虚拟驱动通过模拟 EDID,让系统相信这块屏支持你配置的模式。
90Hz/120Hz 设置方法(常用路径):
- 先在 Windows 显示设置里选中虚拟屏,进入高级显示设置。
- 在刷新率列表里选择 90Hz/120Hz(前提是驱动声明支持该模式)。
- 如果列表没有高刷,先确认驱动版本、重启状态、以及该分辨率下是否声明高刷。
我自己踩过一个很典型的坑:驱动装好了,但扩展显示就是没反应。这个时候别急着重装,先按下面顺序试:
- 在 Windows 显示设置里先切到“仅在 2 上显示”。
- 点击应用后,再切回“扩展这些显示器”。
- 如果还是没反应,再逐项确认:
- 机器是否已经重启过;
- 虚拟屏是否被系统禁用;
- 高级显示设置里是否能识别到刷新率条目。
- 还有一种情况是虚拟屏状态卡住,这时手动断开再重新启用虚拟屏通常能恢复。
性能优化建议
这套方案的核心是“稳定低延迟”,不是盲目拉满画质。
建议按下面优先级调:
- 网络优先:
- 电脑尽量有线连路由器。
- 平板走 5GHz/6GHz Wi-Fi,尽量避免 2.4GHz(低频段覆盖广但拥挤时更容易干扰)。
- 串流时减少同网段大流量下载。
- 参数优先:
- 先稳定 60fps,再尝试 90/120fps。
- 先中码率,再逐步上调。
- 编码优先:
- 优先硬件编码(NVENC/AMF/QuickSync)。
- 避免软件编码(由 CPU 通用计算完成编码),CPU 抖动会更明显。
- 系统优先:
- 笔记本插电并切高性能模式。
- 关闭高占用后台任务。
一个实用排错流程:
- 先把分辨率、帧率、码率各降一档。
- 看是否立即稳定。
- 若有效,再逐项回调,找到设备上限。
这个流程比一次性拉满再盲调更省时间。
下面这套工程化观察指标是我日常排错时最常用的。
带宽与码率关系(实操版):
- 编码码率是“最低网络需求”,不是“总网络占用上限”。
- 真实链路要留 25%-40% 余量给协议开销和波动。
- 例如你计划 50 Mbps 码率,实际最好有至少 70 Mbps 的稳定可用吞吐。
局域网延迟主要来自四段:
- 编码等待(GPU 编码队列)
- 无线介质争用(Wi-Fi 空口竞争)
- 路由转发/排队
- 解码与显示同步
Wi-Fi 5 vs Wi-Fi 6(两代无线协议标准)体感差异(副屏场景):
- Wi-Fi 5 在单设备下也够用,但高并发时抖动更明显。
- Wi-Fi 6 的调度机制更好,多个设备同时在线时延迟波动通常更小。
- 你如果追求稳定高刷,Wi-Fi 6 往往更容易“稳住下限”。
笔记本插电的重要性:
- 不插电时很多机型会限制 CPU/GPU 功耗墙。
- 编码器频率一旦被压,延迟和帧时间稳定性都会掉。
- 所以调性能前先插电,这个收益通常比你调半天参数还大。
GPU 占用监控建议:
- 重点看
Video Encode引擎占用(GPU 里专门负责视频编码的硬件模块),不只是 3D 占用。 - 如果编码占用长期顶满,先降分辨率/帧率/码率。
- 同时看显存和温度,热降频会直接体现在“偶发卡顿”上。
技术原理(可选阅读)
为什么这种方式延迟更低?
核心原因是:这条链路本身就是为“实时画面传输”设计的。
实际体验里,主要是下面这几段在决定延迟上限:
- Sunshine 走低延迟串流路径,编码缓冲更小。
- 编码与解码都可走硬件加速,单帧处理时间更短。
- Moonlight 客户端对实时显示做了优化,输入到显示路径更短。
- 全程局域网传输,网络路径短、抖动小、无需公网中转。
所以体感上会更“跟手”,更接近真实副屏,而不是传统远程控制窗口。
把整条延迟链路按工程视角拉开看,会更容易理解为什么参数要那样配。
帧缓冲抓取流程(简化):
- 应用把画面提交给系统合成器。
- Sunshine 从目标显示输出抓取当前帧缓冲(当前时刻准备送到屏幕的图像数据)。
- 抓到的帧进入编码队列,等待硬件编码。
GPU 硬件编码 pipeline:
- 帧数据进入 NVENC/AMF/QSV 编码单元。
- 编码单元按预设做帧内/帧间压缩。
- 输出码流后交给网络发送线程。
NVENC 的低延迟路径怎么理解:
- 低延迟 preset 会减少缓存深度和前瞻处理。
- 代价是同码率下画质可能略差,但交互延迟更短、更稳定。
- 副屏交互场景通常更吃“响应速度”,所以这笔交换很值。
网络传输中的 jitter buffer(用于吸收网络抖动的小缓冲区):
- 客户端会保留一小段缓冲来对抗网络抖动。
- 缓冲太大,稳定但延迟高;缓冲太小,延迟低但容易抖。
- 实际调参就是在“稳定性”和“绝对低延迟”之间找平衡点。
为什么传统远程桌面协议延迟通常更高(只讲原理):
- 它更偏“桌面可读性与兼容性”目标,不是为高帧实时画面设计。
- 编码策略常更强调压缩效率和可靠传输,缓冲和重传策略更保守。
- 输入、编码、传输、合成链路里的安全冗余更多,换来的是更稳定的远程办公体验,但不是最低交互延迟。
小结
这套方案我用下来,把平板真的变成了一块可长期使用的副屏。写代码、查文档、看监控面板这种场景,体验已经非常接近实体第二屏。
它的优点很明确:无线、低延迟、参数可控,而且成本比再买一套固定显示器低不少。尤其是你本来就有平板,改造成本几乎只剩时间。
适用场景我觉得也很清楚:宿舍党、经常搬地方办公的人、临时搭建双屏环境的人,都会明显受益。固定工位党当然也能用,但固定显示器依然是最省心的终点方案。
要注意的地方也就几件:网络质量、编码设置、虚拟屏参数一致性。前面这些步骤看起来多,其实第一次配好后,后面基本就是“打开就用”。
如果你是第一次折腾这类串流副屏,我建议先按保守参数跑稳,再一点点加画质和刷新率。别一上来拉满,先稳定,体感会好很多。
其实也不止可以用来做副屏,sunshine你也可以后面配置好,平板串流你电脑上的游戏,然后你在床上,平板放腿上,接个手柄玩什么的。