缓存的js文件是否会减慢页面渲染速度

Does cached js file slow down the page rendering

我正在为我的项目使用 kendo 库。我必须在 kendo 网格中加载 250 行,但渲染速度非常慢并且加载页面后变得无响应。当我检查 firebug 时,我发现 kendo.all.min.js 文件大小为 (2.37 MB),由浏览器缓存。对渲染有影响吗

为了进一步分析问题出在哪里,您是否在所有浏览器中都看到了这一点?

您看过 Glimpse http://getglimpse.com/ 它非常适合调试 ASP.net 服务器端和客户端的性能问题,这应该可以让您了解延迟的来源。

我无法评论 Kendo 的效率如何,我没有使用过它,但是 2.37MB 的压缩对于 javascript 文件来说非常大(例如 Jquery 90kb)。文件的解析方式以及这对渲染的影响在浏览器之间可能会有所不同 - 但 250 行并不能真正以 javascript 样式呈现 table - 我已经使用 http://datatables.net/ 来呈现 1000 行没有 table 性能损失的客户端行。

这与kendo.all.min.js缓存与否无关,只与你的数据集有关。想一想,kendo 必须对 250 行的 DOM 进行操作,并且随着数据集的增长,情况会变得更糟。您可以通过将行数减少到例如 20 来自行测试,您会发现浏览器呈现速度更快。

通常,如果您将 Kendo 与 ASP.NET 一起使用,您在视图中的 Kendo 助手实际上是在页面上呈现脚本。当该页面完全加载时,kendo.all.min.js 文件会将其转换为网格。当然,如果你在所有服务器端都这样做,请忽略它。

最后,尽管这与问题无关,但请不要使用 kendo.all.min.js,除非您正在使用此文件中的每个组件。您只需要 kendo.grid.js 及其依赖项。在 Web 术语中,2.37mb 对于 .js 文件来说是巨大的。每个访问您网站的人都必须下载该大小的文件,这将极大地影响他们的加载时间。