为什么Unity 2020.3.19f1版本中UnityWebRequest响应速度异常变慢?
Unity 2020.3.x系列UnityWebRequest响应延迟问题说明
问题确认
该问题是Unity 2020.3.x LTS分支的已知共性问题,已经有大量开发者在升级到该区间版本后遇到相同的响应耗时飙升现象,你测试得到的耗时差异符合该问题的典型表现。
核心根因
- 2020.3.19f1所属的版本区间对
UnityWebRequest底层DNS解析逻辑做了调整,默认开启了双栈解析强制等待逻辑:当目标域名的IPv6解析无响应时,不会立刻回退到IPv4解析,而是会等待完整的DNS超时周期后再走IPv4链路,这部分等待时间就是你观测到的多余耗时。 - 部分场景下还存在连接池复用逻辑异常的问题,
UnityWebRequest不会复用已建立的TCP连接,每次请求都会重新走三次握手流程,也会额外增加耗时。
可行修复方案
- 优先升级Unity版本到2020.3.30f1及以上的LTS版本,官方已经在后续小版本中修复了该DNS解析逻辑的bug,升级后相同测试场景下响应耗时会回落至和2017版本一致的水平。
- 如果暂时无法升级大版本,可以在项目启动阶段添加全局配置强制关闭IPv6解析:
UnityWebRequest.SetGlobalConfig("DisableIPv6", "1");
该配置可以强制UnityWebRequest只走IPv4解析链路,实测可以消除90%以上的额外耗时。
内容的提问来源于stack exchange,提问作者shen
相关产品推荐
相关产品推荐

