使用WebClient下载AssetBundles时遇到问题
2016-12-24 11:23
302 查看
原文地址:https://support.unity3d.com/hc/en-us/articles/207037346-Experiencing-problems-downloading-AssetBundles-using-WebClient
增加 DefaultConnectionLimit
如果确实需要代理(比如不使用
停用 Expect100Continue
另一种可行的解决方案是使用 WWW 类。在Unity5.2中,如果你使用 WWW.LoadFromCacheOrDownload 方法,那么该文件将会随着下载,以不压缩的形式分成小块存储到磁盘上。下载时,它不需要全部加载进内存。在Unity5.3中,新增了一个选项用于将文件以新支持的LZ4压缩方式存储到缓存中。
http://stackoverflow.com/questions/754333/why-is-this-webrequest-code-slow
http://www.scriptscoop.net/t/1f2d4a8a2004/c-webrequest-slow-even-with-null-proxy.html
http://en.code-bude.net/2013/01/21/3-things-you-should-know-to-speed-up-httpwebrequest/
https://holyhoehle.wordpress.com/2010/01/12/webrequest-slow/
http://stackoverflow.com/questions/2519655/httpwebrequest-is-extremely-slow
本文适用于Unity 5.x版本。
症状
使用WebClient的下载速度相当慢。原因
WebClient使用了WebRequest。当下载AssetBundles时速度慢,这是因为AssetBundles就是设计为用WWW类来下载的。解决方案
这是一个变通方案:设置WebClient的代理为null(webClient.Proxy = null)。因为请求被配置成自动检测代理。如果这样设置,它就会避免初始化延迟。同时,还有3个提高WebClient速度的建议:
增加 DefaultConnectionLimit
如果确实需要代理(比如不使用
wbClient.Proxy = null),并且代理信息已知,只需要通过脚本手动设置代理设置(比如
string proxyUrl = "proxy.myproxy.com"; int proxyPort = 8080;)
停用 Expect100Continue
另一种可行的解决方案是使用 WWW 类。在Unity5.2中,如果你使用 WWW.LoadFromCacheOrDownload 方法,那么该文件将会随着下载,以不压缩的形式分成小块存储到磁盘上。下载时,它不需要全部加载进内存。在Unity5.3中,新增了一个选项用于将文件以新支持的LZ4压缩方式存储到缓存中。
更多信息
更多信息参见以下链接:http://stackoverflow.com/questions/754333/why-is-this-webrequest-code-slow
http://www.scriptscoop.net/t/1f2d4a8a2004/c-webrequest-slow-even-with-null-proxy.html
http://en.code-bude.net/2013/01/21/3-things-you-should-know-to-speed-up-httpwebrequest/
https://holyhoehle.wordpress.com/2010/01/12/webrequest-slow/
http://stackoverflow.com/questions/2519655/httpwebrequest-is-extremely-slow
本文适用于Unity 5.x版本。
相关文章推荐
- gitlab使用过程中遇到大文件上传或下载失败的问题,总结一下
- Android下jni开发之ndk的使用(下载、配置、编译遇到的问题)
- maven使用过程中遇到的问题(依赖jar文件下载失败等)
- 使用struts2实现下载功能遇到的文件中文问题解决经验分享
- 使用Struts2下载文件遇到问题总结
- 使用FTPClient文件上传下载遇到的问题
- 关于使用J-flash将程序下载到stm32f407ig中遇到的问题
- github下载ueditor1.5.0使用中遇到的问题
- 使用DaoCloud加速docker镜像下载——修改daemon.json遇到的问题
- 蓝牙nrf51822使用s110_nrf51_8.0.0协议栈遇到的 下载问题
- 使用struts2实现下载功能遇到的文件中文问题
- maven使用过程中遇到的问题(依赖jar文件下载失败等)
- 在使用Arduino中遇到的问题(无法使用中文注释、程序无法下载)
- 如何使用jxl 和 primface 下载excel文件 ,希望能帮助遇到同样问题的博主
- 使用Access存储Session,遇到了SessionId问题?
- 使用logic:iterate遇到的问题
- 在IIS 6 中使用HTTP压缩(Compression)遇到的一个问题
- updater application block v2.0的使用过程中遇到的问题及解决办法
- VC6使用过程中遇到的问题收集(1) zz
- 使用最新的cvs及cvsweb,遇到的问题解决办法。