其他分享
首页 > 其他分享> > Spacedesk在不同网络连接和分辨率下延迟的简单测试

Spacedesk在不同网络连接和分辨率下延迟的简单测试

作者:互联网

为什么要做这个测试?

上一篇文章中,只是凭个人感受,给出了

...即可通过USB实现较低延迟、无卡顿的扩展屏服务

结论。对于卡顿,暂时没想到比较合理的测试方法,毕竟出现时刻相对随机不好抓取。可以通过这个工具,进行简单测试,但是毕竟无法代表连续播放视频的数据量,因此主要还是通过使用过程中的主观感受进行描述(其实是懒+没必要)。但对于延迟,手边恰好有测试设备,干脆一不做二不休,用不太严谨的测试给出一个延迟的大概的范围,以及延迟随不同分辨率、网络连接方式变化的趋势。

利用屏幕录像肯定是没有用的,只是从Screen buffer获取数据是没法测出传输-打包-显示的时间的。为了测试人眼实际感觉到的时延,利用高速摄影,将主屏幕和扩展屏进行对比,例如加入某个跳变的色块,在已知原始帧率的情况下可以得出每两帧图像之间的间隔。通过计算背景色跳变的时差,也就是通过计算跳变时刻对应的帧数差,即可获得扩展屏的的相对延迟。

The Worst Case

在上一篇文章中提到,Spacedesk扩展屏在显示静态画面时,数据量是很低的;而屏幕上存在动态画面时,数据量随着动态部分的面积增加而增加,这一点从网络适配器的发送速率也可以看出。

为了将带宽压榨到极限并且便于测试,副屏开B站全屏视频并且开启弹幕(特别多的那种...),使得画面几乎不存在静态部分。这种方法在USB连接时可以将传输速率稳定在200Mbps之上。然后利用这个工具,并将测试窗口稍微跨进副屏,摄像时点按鼠标使色块颜色反转。由于同一窗口下色块反转是同步的,在剪辑软件中记录主屏和副屏色块反转的起始时间,就可以将时间差近似作为扩展屏的时延,当然,这个时延包含了:主机压缩图像-打包传输-从机接收图像并解包-进行显示-显示屏响应时间。测试的目的并不是为了分析时间花在什么地方并有针对性地进行优化,这是Spacedesk应该干的事,单纯作为用户,并且希望在不想花钱的情况下使用Spacedesk获得更好的体验,只能通过调整副屏的显示分辨率和图像质量,尝试获得更低的延迟和更流畅的操作体验。

关于显示器的更多知识可以参考这个网站

结果分析

以下图片由原视频处理得来,左侧是副屏,右侧是主屏,并标注了不同连接方式下的典型时延。

副屏在1600x900的分辨率下的延迟测试:
image

副屏在2000x1200的分辨率下的延迟测试:
image

测试数据汇总:
image

副屏在高分辨率之下并且如果网络本身具备较高的延迟,当时延接近0.14s时,Spacedesk似乎会自动将刷新率降低尝试维持正常的图像显示——因为此时显示数据的流量占用反而降低了,从200Mbps掉到了80Mbps左右,这可能就是调高分辨率之后的测试结果趋近饱和的原因。不考虑延迟的问题,此时滑动鼠标时的流畅感是远低于USB连接并且分辨率设置合理范围的情形下的。

因此,如果希望实现较低时延,并且无卡顿的操作体验,还是推荐使用USB接入方案,并且根据显示数据流量对图像质量和分辨率进行调整。一个比较合理的起始点是:

全屏视频+弹幕确保几乎没有静态画面的情况下,打开任务管理器,切换到从设备的虚拟网卡,观察发送流量的传输速率是否在100~200Mbps之间。

如果忘了具体设置流程,请参考上一篇文章。什么?你没看过?那你是靠什么关键词搜索过来的...这是链接

Try the Delay Yourself

人对0.1s以下的时间一般是没有什么概念的。毕竟眨眼都需要花0.1~0.4s才能完成,见这个链接。但是通过某些感官可以确切地感觉到10ms量级的时间差的存在,例如操作鼠标时感觉到的“跟手”与否。可以通过下边两个链接,尝试自己设定输入延迟时间,并切身感受50ms和100ms延迟的巨大区别。

USB扩展方案能够实现稳定的80ms的时延,从视觉和操作上来说基本处在可以接受的范围内。甚至你可以尝试在扩展屏上运行Lag Simulator,体验双重叠加的快乐(逃)

扩展阅读(伪)

如果你也感兴趣,不妨看看手机的相机功能下是否有名为HFR或者超慢动作的选项,一般而言,大都处在120FPS至240FPS的范围内且可以连续拍摄,部分机型配置到480FPS甚至960FPS,一般录制时间不超过1s。

当然,部分相机的高帧率并不是原始帧率,而是靠插帧得到的,也就是说录下来的240FPS的视频其实是在120FPS下插帧计算得到的。比较夸张的例如华为P40:

虽然7680FPS是通过4倍插帧得到的,但是1920FPS的原始帧率已经很高了。

随着帧率提升,视频数据的产生速度会逐渐超过闪存的写入速度,在这种情况下就没法实现连续录制,一般使用速度更快的RAM作为缓冲区,先把数据塞到缓冲区里,待录制结束再dump出来进行处理,一般的消费级产品都是这么干的,例如上面提到的P40,便是用了2GB的RAM作为数据缓冲区,在拍摄结束后处理。

总之,数据的产生速率和帧率以及每帧分辨率紧密相连,连续录制时长又和存储器写入速率/缓冲区大小/数据处理速度有关,一般产品只能在这些参数之间做tradeoff。利用树莓派摄像头(IMX219)在缩减分辨率和FPGA+USB3.0的配合下,可以实现 640x78 @1000FPS的性能。

小孩子才做选择,大人全都要!

如果又要高速,又要高分辨率,又要录制时间更长呢?当然只有用魔法打败魔法:

$++

在视频拍摄中,曝光时间是不能超过帧间隔的,当在1000FPS的帧率下,曝光时间最长也就只有1ms,随着帧率的进一步提升,曝光时间会被压缩得更多,每帧图像也会被压得更暗,这也是专门的高速摄影设备需要配备高亮度的补光灯的原因。影像传感器、影像处理器、存储设备、各种配套设备和处理软件的数量、价格、设计成本、生产成本等等随着帧率提高、用途更加专业化而急剧增加。典型的高速摄影设备,例如Phantom的主页产品:TMX7510

image

那么,在哪里能买到呢价格多少呢?

The Phantom TMX 7510 is a marvel of technology and it brings new sensor technology with BSI packaging into the hyper speed realm. Since Phantom cameras rarely share pricing, we can only speculate that this camera price is probably above 100k USD up to 180k USD depending on the configuration. For large laboratories, this is actually a bargain for this kind of performance. In the meantime, we can only dream of having this camera in our kit.

更多高速摄影设备相关的信息,可以从这个链接获取。

1s左右的录制时间用来做研究恐怕起不了特别大的用处,基本处于玩具/短视频水平,但是配合适当的trigger和外部事件进行同步录制至少能够起到定性的作用——毕竟还是比靠猜要强。但不管怎么说,以往只有专业设备才会配备的功能现在逐渐下放到普通的电子产品上是一件好事,至少我们有理由去期待未来某天,能够把当今的Phantom顶级产品装进口袋里。


标签:视频,测试,分辨率,录制,Spacedesk,时延,网络连接,延迟
来源: https://www.cnblogs.com/the-ubiquitos-playground/p/some-simple-but-accurate-test-on-spaced