【问题标题】:Hololens Wifi card seem to buffer received udp messagesHololens Wifi 卡似乎缓冲收到的 udp 消息
【发布时间】: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


【解决方案1】:

好的,以下是您可以做的几件事。

  1. 尝试使用 TCP 通信,以便跟踪包。
  2. 不要不断发送pose值,只在pose发生变化时发送,当收到Hololens上的数据时,进行插值以获得更平滑的结果。这会让您感觉延迟更少。

【讨论】:

    【解决方案2】:

    对此的回复较晚,但希望对某人有所帮助: Hololens 似乎非常讨厌接收 UDP 广播。有相同的延迟问题,即使所有其他设备都与网络断开连接、简单的数据包以及以远低于 hololens 的帧速率发送。尝试仅寻址 hololens IP,而不是广播地址,即使这意味着您需要为所有其他设备运行第二台服务器

    【讨论】:

      猜你喜欢
      • 2017-10-17
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      • 1970-01-01
      • 1970-01-01
      • 2014-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多