We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
同步与异步加载,往往是指网络资源,像图片、样式、脚本等。本文探索在PCWeb下,同步&异步性能差距到底有多少?为何移动端的优秀方案到PCWeb,会造成性能问题?
我们只声明单一的静态脚本资源。
<script src="./react.js"><script>
使用简单脚本发起资源请求。
<script> var s = document.createElement('script') s.src="./react.js" document.body.appendChild(s) </script>
看到结果很惊诧,仅仅是一个不一样的加载方式,导致的是40ms与400ms的差异。那么,这段时间里面,浏览器到底去干啥了。
通过图示,说明了几个问题
同步加载,是否会受插件影响?
分析:
可以看到高优先级的资源,比部分插件脚本有更高执行优先级,浏览器会“尽可能快”地加载执行。
在插件环境下,加载会被各种插件干预,那么纯粹的异步(low)同步(high)在Webkit浏览器加载的差距是怎样的呢?我们通过切换至隐身模式,消除所有插件影响,注意需要将所有插件的”隐身可用“取消勾选。
在OSX环境下,Shift+CMD+N启用隐身模式,在某些情况有特别的妙用..
Shift
CMD
结论是:同步的高优先级获得优先系统调度,与异步加载有略微优势
PCWeb下,同步加载的特性,比起异步加载有非常大的优势。在某些场景下,还有一些"绝妙"的用法。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
同步与异步加载,往往是指网络资源,像图片、样式、脚本等。本文探索在PCWeb下,同步&异步性能差距到底有多少?为何移动端的优秀方案到PCWeb,会造成性能问题?
同步加载
我们只声明单一的静态脚本资源。
异步加载
使用简单脚本发起资源请求。
结果分析
看到结果很惊诧,仅仅是一个不一样的加载方式,导致的是40ms与400ms的差异。那么,这段时间里面,浏览器到底去干啥了。
通过图示,说明了几个问题
同步加载,是否会受插件影响?
分析:
可以看到高优先级的资源,比部分插件脚本有更高执行优先级,浏览器会“尽可能快”地加载执行。
无插件环境(类无线环境)
在插件环境下,加载会被各种插件干预,那么纯粹的异步(low)同步(high)在Webkit浏览器加载的差距是怎样的呢?我们通过切换至隐身模式,消除所有插件影响,注意需要将所有插件的”隐身可用“取消勾选。
在OSX环境下,
Shift
+CMD
+N启用隐身模式,在某些情况有特别的妙用..结论是:同步的高优先级获得优先系统调度,与异步加载有略微优势
结语
PCWeb下,同步加载的特性,比起异步加载有非常大的优势。在某些场景下,还有一些"绝妙"的用法。
The text was updated successfully, but these errors were encountered: