就是要 4K 双显,M1 MacBook Pro + DisplayLink 性能体验测试

这是什么坑

在使用一段 M1 芯片的 13 寸 MacBook Pro 之后,一直有一个问题没有解决,那就是两台 4K 显示器的一台,只能闲置在那里。

虽然给 M1 MacBook Pro 配备的是 StarTech 雷电 3 接口的扩展坞,它拥有一个 DisplayPort 接口和一个全功能 USB Type-C 接口,在配备 Intel 芯片的 16 寸 MacBook Pro 上,它是可以直接驱动两个 4K 显示器。

但是由于 M1 芯片又或者是 M1 MacBook Pro 的限制,配备 M1 芯片的 MacBook Pro 只能驱动一台 4K 显示器,另外一台显示器,即使将它连接在 MacBook Pro 上,也并不会有任何显示。

这个限制,在苹果官网 M1 芯片 MacBook Pro 的技术规格中也有提到:

M1 MacBook Pro Specs

而在配备 Intel 芯片的 16 寸 MacBook Pro 技术规格中对应的说明是这样的:

MacBook Pro 16-inch Specs

距离 M1 MacBook Pro 发布也已经过去了 8 个月,苹果并没有针对这个问题推出一些软件上的更新来修正,那么暂时就不用去考虑这是一个软件的限制,还是一个硬件的限制了,先来自己解决一下这个问题吧。

免责声明:此文介绍所有内容均为非严谨测试,仅供参考,不作为购买依据。

大救星 DisplayLink

在网上去搜索 M1 MacBook Pro 多显示器的解决方案时,很容易就可以找到各种使用 DisplayLink 的文章介绍,并且也是实际验证可用的,但是我对于使用 DisplayLink 真正能达到的效果也比较好奇,因此决定还是自己做一些调研,购买一些设备来实际测试一下看看。

DisplayLink 介绍

来自 Wikipedia 的 DisplayLink 介绍:

DisplayLink (formerly Newnham Research) is a semiconductor and software technology company. They develop the DisplayLink USB graphics technology, which is designed to connect computers and displays using USB, Ethernet, and WiFi. It also allows multiple displays to be connected to a single computer.

简单来说,DisplayLink 可以通过一个自建驱动,在系统中模拟出多个显示器设备,并且通过 USB 接口将数据输出到外部 DisplayLink 芯片,并且转换为 DisplayPort 或者 HDMI 信号,从而驱动多台显示器。

由于 DisplayLink 是使用软件去压缩视频信号,因此它本身也依赖于系统的 CPU,并且在视频画面变化比较剧烈的时候,需要的 CPU 资源会相比静态画面时要求更高。

另外由于 DisplayLink 是使用的 USB 3.0 协议,而不是更为先进的 Thunderbolt 3,所以在适应性上会更强,不管是 USB Type-C 还是 USB Type-A,或者是接在 Thunderbolt 3 的扩展坞上,甚至普通的 USB Type-C 扩展坞,都可以正常工作。

DisplayLink 的限制

因为 DisplayLink 是使用 CPU 去进行视频信号的压缩,所以在实际使用时会占用相当多的 CPU 资源,因此可能会影响整体系统的性能。

并且因为在一些情况下,DisplayLink Agent 进程甚至能占用到 100% 的 CPU 占用,如果笔记本的散热不够好,可能会导致笔记本的风扇一直处于高速运行状态,从而导致比较大的工作噪音。

但是对于 M1 系列的 MacBook 来说,这些问题并不会有太大的影响,一个是性能足够,另外一个就是即使一个核心 CPU 占用达到 100%,也并不会导致发热很严重从而调高风扇转速的情况。

在整个使用过程中,M1 MacBook Pro 的温度与通过 USB Type-C 只连接一个显示器的情况下,并没有明显区别。

如何选择 DisplayLink 设备

在一开始,网络上的一些文章以及在京东上搜索 DisplayLink 设备时,都提到 DisplayLink 视频输出分辨率会限制在 1080p,但是这并不是我想要的,总不能在 4K 显示器上去使用 1080p 这样的低分辨率。

在 DisplayLink 的官网上查阅一番后发现,DisplayLink 在 2016 年推出的 DL-6950 系列芯片就已经能够支持到 4K60Hz 的视频输出了,并且使用双 DP 连接的话,还可以支持到 5K 视频输出。

但是在国内的市场上,并不能看到太多使用了 DL-6950 系列芯片的 DisplayLink 适配器或者扩展坞,最终我在 DisplayLink 官网的产品列表中,去找到了一批使用了 DL-6950 系列芯片的设备。

在官网产品列表中找能找到的设备,基本上都没有在国内正式销售,但是在某鱼上,还是可以根据品牌或者型号找到不少洋垃圾产品,总的来说性价比也还不错。

在挑选 DisplayLink 设备时,可以认准 DL-6950 芯片,或者说明支持 5K 视频输出,因为目前 DisplayLink 所有芯片中,支持 5K 视频输出的也只有 DL-6950。

太长不看

在使用了一段时间之后,DisplayLink 整体表现还算可以的,作为一个副屏来使用,在画质和响应速度上,都处于可以接受的范围内,但是如果想用来看视频或者玩游戏,可能就不太适合了,会有比较大的延迟以及掉帧情况,这个时候可以用回 Intel MacBook Pro 或者是使用 M1 的 Mac mini 😃。

优点

  • 能解决 M1 系列笔记本(MacBook Pro 及 MacBook Air)不支持第二个显示屏的问题
  • 视频输出分辨率和刷新率可以支持到 4K60Hz,甚至可以使用双 DP 支持到 5K60Hz
  • 视频输出为文本内容中,文本内容渲染也足够清晰和锐利,满足正常使用标准
  • 视频输出画质,在多数时候没有与使用 DP 接口的显示器看出明显区别

缺点

  • 支持 HiDPI 的分辨率只有 3840x2160、1920x1080、1600x900
  • 不支持旋转显示器输出,只能横屏使用
  • 实际使用体验依赖 USB 通信速度,会出现掉帧的情况

适配器和 Dock

在 DisplayLink 产品列表中,可以看到两种类型的 DisplayLink 设备,一种是适配器类型,另外一种是扩展坞类型,可以根据实际使用情况和偏好去选择。

两种类型的设备,在对于外接显示器的支持上,其实都没有什么本质的区别,毕竟所有功能都是由同一款芯片去提供,因此在选择的时候,更多是看不同类型产品所提供的特点是否是必需的。

适配器类型 DisplayLink 设备

适配器类型的 DisplayLink 设备,跟常见的 USB Type-C 转 HDMI,USB Type-C 转 DP 很像,体积小,无需额外电源,但是相对功能就比较有限,基本上只会提供 DL-6950 芯片所能提供的功能,例如多数适配器类型的 DisplayLink 设备,只提供了两个 DisplayPort 接口和一个 RJ45 网络接口。

这种 DisplayLink 设备的优势就是体积小巧,便携,不需要额外电源,但是使用双显理论上也不需要便携这个属性,而不需要电源这个特点,使得它可以很方便地去配合其他 USB Type-C 类型的扩展坞来使用。

不过在某鱼上,这种适配器类型的 DisplayLink 设备比较少。

扩展坞类型 DisplayLink 设备

扩展坞类型的 DisplayLink 设备就比较多种多样了,不光外观有很多形式,能提供的接口类型也各不一样,提供的接口数量也会不太一样。

这类 DisplayLink 设备在选择的时候需要注意,它是否支持向主机使用 PD 供电。这类扩展坞,虽然连接同样使用的是 USB Type-C,但有一些设备并不能通过和主机连接的 USB Type-C 进行供电,也就意味着使用这类扩展坞时,同时需要给 M1 MacBook Pro 再连接一根电源线。

当然扩展坞类型的 DisplayLink 设备也可以直接连接在 USB Type-C 扩展坞上使用,只不过两个扩展坞放在一起可能会比较占面积。

最终两种类型的 DIsplayLink 设备,我分别挑选了一款来使用测试看看。

Plugable USBC-6950-DP

Plugable USBC-6950-DP 是一个适配器类型的 DisplayLink 设备,只提供了最基本的 DP 口和 RJ45 网络接口。

 

Plugable USBC-6950-DP

在系统报告里可以看到,它就是挂在 USB Hub 下的一个普通 USB 设备,且 USB 通信协商速率为 5Gbps。

Plugable USBC-6950-DP in Profile

i-tec CADUAL4KDOCK

这款扩展坞提供了 6 个 USB Type-A,两组 DisplayPort 和 HDMI,以及 RJ45 网络接口和音频接口。

需要注意的是,这款扩展坞还有一个外观极其相似的型号,那一款是提供了 4 个 USB Type-A 接口,2 个 USB Type-C 接口,当然价格也更高一点,在购买的时候需要注意。

i-tec Docking Station

在系统报告中同样显示为 USB Hub 下的一个 USB 设备,不过名称显示为 USB3.0 5K Graphic Docking。

i-tec Docking Station in Profile

系统信息及显示器设置

将两台显示器分别连接到雷电 3 Dock 和 DisplayLink Dock 上后,可以在系统报告中看到两台显示器的信息。

其中使用雷电 3 Dock 连接的显示器,可以设置分辨率缩放为 2560x1440,而使用 DisplayLink 连接的显示器,如果需要 HiDPI,就只能显示成 1920x1080 了。

这里也可以看到 DisplayLink 显示器的刷新率也是显示为 60Hz,不过这个数字,也只能当作参考,实际显示时,还是依赖系统资源情况以及 DisplayLink Agent 的处理速度。

Graphics/Displays

在显示器设置里可以看到,使用 DisplayLink 连接的显示器只有固定几档分辨率可以选择,而支持 HiDPI 的就只能是 3840x2160、1920x1080 以及未在截图中显示的 1600x900。

Display Settings for DIsplayLink

而在雷电 3 Dock 使用 DisplayPort 连接的显示器,分辨率设置就强大很多。

Display Settings for DisplayPort

 

实测性能体验表现

为了实际测试通过 DisplayLink 连接的显示器,实际使用时,延迟和刷新率是否符合预期,我写了一个小程序来显示一个时间戳,并且通过系统函数控制刷新率为 60FPS,并且将 DisplayLink 显示器与 DisplayPort 显示器进行对比,来实际测量 DisplayLink 显示器的延迟和刷新率。

同时,为了测试在不同类型内容显示、不同系统负载情况下的 DisplayLink 表现情况,也在 Youtube 上选择了几个 4K60 的视频,来看看 DisplayLink 显示器 能不能满足流畅观看视频的需求。

另外为了表现出最差情况,以下测试都会尽量采用最差情况时的截图。

测试相关参数

测试所使用的视频和网站如下:

所有测试的照片使用 RX100M7 拍摄,并且快门速度使用 1/1000 秒。

将 DisplayLink 显示器作为镜像

为了更容易对比使用 DisplayLink 连接的显示器,在实际使用时,与使用 DisplayPort 连接的显示器,在延迟和帧率上的表现,先将 DisplayLink 显示器作为使用 DisplayPort 连接的显示器的镜像,这样两个显示器显示同样的内容,对比起来更清晰。

测试中左边显示器是使用 USB Type-C 扩展坞转 HDMI 连接,右边显示器使用 DisplayLink 连接。

系统空闲时延迟测试

在系统空闲时,DisplayLink 显示器输出应该可以说与使用 DisplayPort 连接的显示器没有区别,读取到的延迟也没有任何差异。

Mirrored timer in Idle

播放 4K60 视频时延迟测试

使用 Safari 播放 4K60 的视频时,就可以看到 DisplayLink 显示器的输出比使用 DisplayPort 连接的显示器输出延迟了 67ms,通常伴随着延迟的还有掉帧,并且会在这个时候明显看到鼠标的响应会比 DisplayPort 显示器上要慢。

这个时候从屏幕数据计算出来延迟 67ms,换算成刷新率的话就只有 15 帧/秒,所以鼠标移动时感觉迟钝也很正常。

但是这个现象会更容易出现在视频缓冲时,如果播放已经缓冲完成的内容,并且视频内容不是动作特别大的话,总体表现倒也算可以接受。

Mirrored timer when playing 4K60 video

播放 4K60 视频和 SSD 测速时延迟测试

同样是 4K60 的视频,还加上一直对一个 SATA SSD 进行读取和写入速度测试,理论上会比单独播放 4K60 视频的延迟会更大,但是在实际测试过程中,表现并没有变得更差,并且 SSD 的读写速度,与没有使用 DisplayLink 连接显示器时,也没有明显差距。

这个也有可能跟视频并没有在缓冲有关系,以及这让我对 DisplayLink 对 USB 实际带宽占用多少很好奇,但是因为手上没有读写速度更快的 NVMe SSD,也没有办法去测试极限情况下,DisplayLink 能掉帧到多少了。

在这个场景下,计算出来的延迟为 16ms,刷新率理论上还是能到 60 帧/秒的,实际使用时,的确鼠标移动起来不太会有明显迟钝感。

Mirrored timer when playing 4K60 video and SSD speed testing

浏览器性能测试时延迟测试

在播放 4K60 视频时,同时使用 browserbench 进行浏览器性能测试,以模拟在播放视频时,也同时进行一些高 CPU 占用的操作时,DisplayLink 的表现情况。

在实际使用时,这个场景下,DisplayLink 的延迟并没有很大差距,从照片中可以看到在 33ms,如果一直处于这个延迟,大概可以计算出来刷新率只能到 1000/33 约 30 帧/秒。

Mirrored timer when playing 4K60 video and browser benchmarking

播放 4K60 动作电影时延迟测试

播放 4K60 视频中画面变化比较大的场面时,显示延迟最大可以到 67ms,这基本上处于不太可用的状态了,理论上如果延迟都要到 67ms 的话,刷新率只能到 1000/67 约 15 帧/秒。

Mirrored timer when playing 4K60 Gemini

将 DisplayLink 显示器作为扩展

为了更好地对比在使用 DisplayPort 和 DisplayLink 显示时的延迟,通过将 DisplayLink 显示器设置为扩展,对比显示的时间戳差距,可以大概计算出,DisplayLink 在将屏幕数据压缩、传输到扩展坞、解压为 DisplayPort 信号时,需要消耗多长时间。

同样左边显示器是使用 USB Type-C 扩展坞转 HDMI 连接,右边显示器使用 DisplayLink 连接。

系统空闲时延迟测试

在系统空闲时,其实没有太明白这个情况是咋回事,按 Timer 显示的原理来说,DisplayLink 的延迟可能比 DisplayPort 更小?

也许是当时所使用的 USB Type-C 扩展坞中的 DP 处理芯片性能较 DisplayLink 中的芯片性能更差导致。

Extended timer when idle

播放 4K60 视频时延迟测试

在播放 4K60 视频时,就可以看出差距了,使用 DisplayLink 连接的显示器,信号要比 DisplayPort 连接的显示器慢约 20ms。

Extended timer when playing 4K60 video

播放 4K60 视频和 SSD 测速时延迟测试

这个时候延迟会到 62ms,与镜像时差不多。

Extended timer when playing 4K60 video and SSD speed testing

播放 4K60 视频和性能测试时延迟测试

延迟大概在 42ms,比镜像模式时稍差一些。

Extended timer when playing 4K60 video and browser benchmarking

播放 4K60 动作电影时延迟测试

延迟到了 74ms,比镜像模式时更差。

Extended timer when playing 4K60 Gemini

性能测试小结

在上面的测试中,很多时候延迟并不等同于刷新率会以那个延迟去刷新,不过基本上在延迟比较大的时候,刷新率也不会特别高就是了。

在使用 DisplayLink 连接的显示器上,显示的内容变化不大时,整体的使用体验还是可以接受的,例如使用它去显示的静态的网页等。

在播放视频时,如果视频分辨率或者刷新率比较高,实际观看体验也不会特别好。

DisplayLink DL-6950 系列设备参数对比

在 DisplayLink 官方网站的产品列表上查到了一些使用 DL-6950 芯片的扩展坞,并且基本上是能在某鱼上找到的洋垃圾型号,将它们的参数对比做了一下表格放在下面,可以根据自己的需求情况去选择对应的型号。

StarTech 还有一个型号 DK31C4DPPD 接口和功能更加全面,不过目前还未发布,正在预订中,而且 StarTech 似乎在国内并没有官方代理,也只能通过转运的方式去购买。

另外淘宝上也有一个国产品牌 QGeeM 推出了一款似乎是使用了 DL-6950 系列芯片的 DisplayLink 扩展坞,可以使用 这个链接 来查看,因为我并没有购买这款扩展坞,具体参数请联系客服确认。

型号 类型 主机连接 视频接口 USB PD LAN Audio
StarTech              
USB32DP24K60 适配器 5Gbps 2xDP - - - -
USBA2DPGB 适配器 5Gbps 2xDP - - -
DK30C2DPPD Dock 5Gbps 2xDP/HDMI 3A1C 60W
Plugable              
USBC-6950-DP 适配器 5Gbps 2xDP - - -
UD-ULTC4K Dock 5Gbps 2xDP, 1xHDMI 4A1C 60W
UD-6950 Dock 5Gbps 2xDP 6A -
UD-6950H Dock 5Gbps 2xDP/HDMI 6A -
Wavlink              
UG69DK7 Dock 5Gbps 2xDP/HDMI 6A -
UG69PD2 Dock 5Gbps 2xDP/HDMI 4A2C 65W
UG69DK1 Dock 5Gbps 2xDP/HDMI 6A -
Others              
DELL D6000 Dock 5Gbps 2xDP, 1xHDMI 4A 65W
ThinkPad 40AF Dock 5Gbps 2xDP/HDMI 3A -
VisionTek VT4000 Dock 5Gbps 2xDP/HDMI 6A  
i-tec CADUA4KDOCKPDL Dock 5Gbps 2xDP/HDMI 4A2C 65W
i-tec CADUAL4KDOCK Dock 5Gbps 2xDP/HDMI 6A -

结论

如果你购买了 M1 芯片的 MacBook Pro 或者 MacBook Air,并且已经配置了两台 4K 显示器,并且副显并不会用来做一些负载很大的工作,那么可以购买一个 DisplayLink 扩展坞来将第二块显示器利用起来。

由于 M1 的高性能和低发热,DisplayLink Agent 的高 CPU 占用并不会有什么感受,MacBook Pro 散热风扇一如即往的是 0RPM,机身温度与开启 DisplayLink 前也没有明显区别。

当然实际使用过程中,可能会碰到各种各样延迟大、掉帧的情况,例如我将飞书窗口放在 DisplayLink 显示器上时,整体响应明显就慢很多,但是将 Chrome 浏览器放在 DisplayLink 显示器上,整体感受与 DisplayPort 并没有明显区别。

另外在使用过程中,也经常会碰到鼠标移动过去,在刚开始的时候会刷新率特别慢,等上几秒上,刷新率才能提升到 60Hz 的样子的情况,如果不能接受的话,可能就不要购买 DisplayLink 扩展坞了。

希望此文对希望解决 M1 MacBook Pro / MacBook Air 双显问题的朋友们有所帮助。

参考资料

 

发表评论?

36 条评论。

  1. 我見文中有5K Monitor。請問有無試過過DisplayLink Dock輸出到5K Monitor?

    • 不好意思,我手头没有 5K 显示器,没有办法测试哦。另外它是依赖双 DP 进行 5K 信号输出,应该也是需要一个额外的转换器或者显示器本身支持。

  2. 我想问一下目前外网有看到使用displaylinke 驱动+配适器连接双屏的情况,但是这个配适器好像也很便宜,不是带有芯片的那种,这样可行吗

  3. 这个写得很好,是同类主题中最详尽的。
    请问使用楼主方案,Macbook可以合盖输出双屏吗?

    • 可以,我现在日常就是使用一个 DP + DisplayLink HDMI 输出,但是不知道是不是 macOS 12 的原因,需要先开盖接上显示器,再合盖使用,可能是 M1 休眠太快?
      但是只要连接了显示器,后面休眠、重启啥的也都没有关系,可以正常使用了。

  4. M1 MacBook用displaylink dock外接两台4k显示器,是不是一台可以和传统的连接方式一样不会有任何影响,只有另一台通过displaylink协议连接的显示器才会有延迟掉帧等小问题?

  5. 请问楼主大大,m1 pro芯片的MacBook Pro 2021款,有什么扩展坞可以单个扩展坞支持双4k60hz外接显示器?
    我试了D6000不行,搜网上只有一款贝尔金刚出的雷电4扩展坞才行,3000+。。。

    • 这个你可以直接买雷电 3 的扩展坞,CalDigit TS3 Plus 或者贝尔金,应该一千多,或者可以看看洋垃圾 StarTech 的。
      另外不知道 HP 有个 Windows 兼容的雷电 3 的扩展坞还能不能用,之前 M1 的时候似乎是可以直接用的。

    • 买HP 的G2 Thunderbolt3 dock
      不要买Dell 的TB16/15
      国外都很便宜le,国内海鲜市场应该也非常便宜吧。

      • 对,那个似乎是 M1 上不需要额外处理就可以使用的雷电 3 扩展坞,但是这个并不能解决 M1 本身输出不支持双屏的问题呀,Display Link 是用来解决这个的。
        如果是其他本身支持双屏的设备,不推荐用 Display Link。

  6. 麻烦问下楼主大哥,用类似UD-ULTC4K这样的dock是可以两个显示器都插在dock上 然后一线供电和输出双外接屏么?

  7. 闲的没事给M1 MBP 买了个Dell 的 D6000
    抛开延迟,结果非常失望:
    1,DisplayLink 不支持Night Shift!
    2,虽然4k显示器是60Hz,但是色彩位数严重不足,至少在8 bit的显示器上窗口周边的阴影效果可见明显的断层!

    • 1. 我没有在使用 Night Shift,倒是没有测试到这块内容
      2. 我感觉还好,至少视频静止的时候对比了没有明显质量差异
      还是看需求吧。

  8. 刷新率和帧率在描述上有混淆哦~另外为什么会用1s除以显示延迟来算帧率呢,感觉显示延迟和帧率之间没有固定关系吧,毕竟即使每帧都延迟1年和每秒60帧也不冲突嘛

    • 对,这块描述不太准确。
      不过因为 Display Link 的延迟在低负载的时候可以很小,而在高负载的时候就变高了,然后理论上可以认为它处理一帧的时间变长了,而它并没有并行去处理,感觉可以在一定程度上可以用延迟去算帧率?

  9. 写的非常好,可否转载一下呢,公众号:云原生实验室 :mrgreen:

  10. 请教下4k@30hz 可以支持hidpi吗?

  11. 现在市面上的扩展坞(已经有一些国产牌子了)主机连接到了10Gbps,延迟可以做到更低吗

  12. 感觉Dsiplaylink 扩展坞也不便宜啊。看到一款绿联的,说是支持displaylink但没说什么芯片。有什么比较便宜的推荐
    https://detail.tmall.com/item.htm?id=685203174129

  13. 大哥知道如果4k的DL芯片适配器,只用来带1080p的显示器,会舒适一些吗?

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>