栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

Unity离线文档打开太慢?[同样适用线上]

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity离线文档打开太慢?[同样适用线上]

unity的在线文档,使用过程中切换较慢,有时候比较影响使用。还好官网提供了离线文档,可以下载到本地浏览。
但是!
但是!
但是!
为什么本地打开,浏览器一直转圈圈?每个页面打开要10s以上才能加载出内容?本地加载了个寂寞?

问题现象

打开Manual/index.html后,浏览器持续空白页加载,持续大约10s,加载完成后切换页面时也会出现长时间加载的问题
下面是文档加载的过程

首次加载

第一次加载耗时20s以上

切换页面

切换页面时耗时10s以上

原因分析

从现象看,像是网页加载时在加载一些耗时的内容,可以从控制台中网络(Network)中查看网页加载的全过程,看一看具体是哪些文件加载耗时影响的文档加载缓慢。
注:感兴趣的话可以从HTML页面的加载顺序中简单了解一下。
从下图可以看出,在加载的过程中,第二个资源加载花费了21s后获取失败了,还有一些其他的资源获取也有1s的耗时。看来这些是导致文档内容无法加载出来的元凶。那么如何解决呢?我们可以先查看一下index.html的内容,俗称网页的源代码。

这里我们关注几个关键字:
css?family=Roboto&display=swap
otSDKStub.js
可以根据关键字,在源码中看到对应的代码位置






				
				



Unity - Manual:  Unity User Manual 2020.3 (LTS)


......下面的省略

加载时间长的css文件或js文件都包含在head中。
从HTML页面的加载顺序中,我们知道了浏览器会按照head->body执行,若head中存在script,需要等待script执行结束后,才能进行下面的渲染,所以我们遇到的文档加载时间长,其实是在等待文件请求完成。

问题解决

既然文件加载慢,可以不加载么?
这里我整理了3个文件

名称用途链接
css?family=Roboto&display=swap从链接看像是一个字体样式https://fonts.googleapis.com/css?family=Roboto
otSDKStub.jsOnetrust cookie 管理https://cdn.cookielaw.org/scripttemplates/otSDKStub.js
gtm.jsGoogle Tag Manager 可能用于网站的访问统计用途https://www.googletagmanager.com/gtm.js?id=

百度搜索了一下网友的解决方法,大家提供了两种方法:

  1. 断网访问,电脑断网时,无法从外网获取资源,自然访问就快了
  2. 把源码中包含的3个文件的内容都注释掉,目前看是所有的页面中都存在,所以需要借助某些工具批量处理(2020版本目前28,465个文件)

这里我提供一个新的思路。
目前大部分人使用浏览器都会开启广告拦截插件,用于过滤广告,广告拦截的原理一般都是匹配请求的网址中是否包含对应的关键字。我们可以将上述的文件链接添加至插件中,从而实现资源的屏蔽。
这里我以AdBlock为例,其他的插件应该大同小异。

添加下面三个链接:

  1. cdn.cookielaw.org/scripttemplates
  2. www.googletagmanager.com/gtm.js
  3. fonts.googleapis.com/css?family=Roboto

添加后可以在手动编辑拦截规则中看到新增的链接。
这里要注意的是,添加的这个规则是全局拦截,如果其他页面中有使用到此资源的,也有可能被误杀。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/902194.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号