EasyUI的渣性能

项目一开始没有经过性能测试匆忙选用了EasyUI作为前端组件。

由于开发过程中一直采用的Chrome作为开发浏览器,IE下仅作基本兼容性考察。没有重视潜藏的性能问题。

到了项目收尾时,用户进行试用时,发现在IE7、IE8下性能实在太过于不理想,一度我都想重新推倒重新来,但想想几十个页面呢,还是算了。

哎,最终我被迫无奈,尝试通过改源码来提高easyui的效率,此时又遇到一个头疼的难题,easyui的开源代码方法名均为乱码,想要改进,对于我这个只懂基本JS的人来说,难于上青天哇,桑不起!

教训啊,下回开发项目,切勿选择EasyUI。并在选择相应框架前,注意检测一下基本的性能问题。

下面上两张图,给大家看下EasyUI在IE8下的性能。

1.展示的页面:

2.IE8下profiler测出的JS执行时间:

仅仅parse方法就用了6s多的时间,其中大部分时间是在datagrid的解析上,不太明白为什么20行记录也会需要这么久的时间解析。

经过调查发现,datagrid最耗性能的在计算宽度高度上,这个在网上可以找到解决方案。但我发现尽管优化之后,性能有了质的飞跃,但总体表现仍然不尽如人意,所以建议开发中还是不要选择easyui的好,可以选择其它jdGrid等插件代替。

除此之外,前期我还发现tree组件也比较耗性能。tree组件在涉及几十上百个节点时在IE7\IE8下性能就相当不行了。优化的方法是:通过异步方法来减少一次加载的节点数,基本上才能满足要求,但操作起来就有点小麻烦了。在新项目上,还是推荐使用zTree之类的成熟插件,上百上千个节点都毫无压力。

转载于:https://my.oschina.net/francisxjl/blog/132998

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
easyui datagrid 是基于jQuery的一个数据网格插件,可以方便地在前端页面展示和操作数据。对于性能优化,可以从以下几个方面进行考虑: 1. 减少数据量:datagrid大多数情况下都需要从服务器加载数据,因此减少加载的数据量可以提升性能。可以通过设置分页,每次只加载当前页面的数据;或者使用延迟加载功能,仅在需要时加载数据。 2. 后端服务优化:在服务端代码中,优化SQL查询语句,避免不必要的查询和多次查询;采用缓存机制减少数据库查询次数;合理配置数据库连接池和线程池等等。 3. 前端渲染优化:尽量避免使用大数据量的数据源,可以在后端进行分页处理,减少一次性传输大量数据。可以在datagrid中启用虚拟滚动功能,只加载当前可见区域的数据,提高渲染速度。 4. 图片延迟加载:如果datagrid中包含大量的图片资源,可以使用图片的延迟加载,即只有在图片出现在可视区域时再进行加载,可以通过lazyload等插件实现。 5. 合理配置datagrid参数:通过设置合理的分页数、每页显示行数、排序方式等参数,可以提升datagrid的整体性能。 6. 避免不必要的计算:在datagrid中避免使用复杂的计算逻辑,尽量将计算放在后端完成,减少前端计算的负担。 7. 异步加载数据:可以在数据加载时采用异步加载的方式,即后台返回数据的同时展示datagrid的部分内容,提高用户体验。 以上是一些常见的easyui datagrid性能优化的方法,根据具体的业务场景和需求,可以结合实际情况进行优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值