2015-03-25 61 views
1

我正在为我的项目使用剑道库。我必须在剑道网格中加载250行,但渲染非常缓慢&加载页面后变得无法响应。当我检查了萤火虫,我发现kendo.all.min.js文件大小是(2.37 MB),它被浏览器缓存。它是否会影响渲染缓存的js文件减慢页面渲染速度

+0

你在几个浏览器中看到了这个吗? – BMac 2015-03-25 10:04:29

+1

是的,但IE比其他浏览器慢得多 – Tuscan 2015-03-25 10:13:43

回答

2

这与kendo.all.min.js被缓存或没有关系,它只是与您的数据集有关。想一想,kendo不得不操纵250行的DOM,随着数据集的增长,它会变得更糟。您可以通过将行数减少到20来进行测试,您将看到浏览器更快地呈现它。

一般来说,如果您在使用剑道ASP.NET时,您视角内的剑道助手实际上是将脚本渲染到页面上。当页面加载完毕后,kendo.all.min.js文件会将其转换为网格。当然,如果你正在做所有的服务器端,请忽略这一点。

最后,虽然这对问题没有影响,但除非您使用此文件中的每个组件,否则请勿使用kendo.all.min.js。你只需要kendo.grid.js和它的依赖关系。在web术语中,2.37mb对于.js文件来说是巨大的。访问您的网站的每个人都必须下载一个文件大小的文件,这会大大影响他们的加载时间。

2

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

你见过掠影http://getglimpse.com/这对调试ASP.net服务器和客户端的性能问题很好,这应该给你一个延迟来自何处的指示。

我无法评论Kendo的效率如何,我没有使用它,但2.37MB缩小是非常大的一个JavaScript文件(例如jquery是90kb)。如何解析文件以及这会如何影响渲染在浏览器中可能会有所不同 - 但在JavaScript样式表中,无法真正呈现250行 - 我使用http://datatables.net/来呈现1000行的客户端行,但没有显着的性能损失。