【发布时间】:2021-01-09 11:09:21
【问题描述】:
目前我正在为 Hololens 2 建造一个简单的协作室,我希望人们能够看到彼此。 于是我搭建了一个系统,使用 udp socket 跨网络(客户端-服务器)共享用户的手。
为了证明我的系统没有问题,我尝试了一个简单的实验, 我有 1 个服务器和 2 个客户端,其中 1 个客户端在 Holo 2 上,另一个在 Windows Standalone 上,两者都通过 wifi 连接到服务器。 当两者都连接时,他们可以看到彼此的头像以及自己的头像(计算机使用 MicrosoftRealityToolkit 模拟手)
当用户移动他的手时,在 hololens 中,我们可以看到 PC 客户端立即接收到它,并且延迟非常小 但是 Holo 稍后会以自己的移动方式恢复(大约延迟 0.5 秒)
同样的实验,电脑移动他的头像,它会立即恢复他自己的移动,但是holo会延迟再次恢复它。
我还注意到,如果我增加来自服务器的消息频率,hololens 将开始丢失所有数据包
这真的很奇怪,因为所有的数据包都收到了,所有的动作都恢复得很好,他们只是在全息上有很大的延迟。我认为网卡有问题并缓冲接收到的消息,但我对网络知识不够了解,无法真正了解那里发生的事情。
【问题讨论】:
-
PC客户端也是通过WiFi还是局域网连接的?
-
PC端也是通过WiFi连接的,PC端和Holo端完全一样
-
您是否尝试过使用其他专业工具分析 HoloLens 的网络延迟?根据您的描述,我认为这可能是因为您的应用在共享对象移动时的帧速率表现不佳。由于 HoloLens 的硬件性能限制,它不太可能像计算机一样快速运行。不确定这是否有帮助:docs.microsoft.com/en-us/windows/mixed-reality/develop/unity/…
标签: unity3d network-programming udp hololens