我们已经开始使用DevExpress MVC控件,这需要在我们的Site.Master中添加以下代码:
<% Html.DevExpress().RenderScripts(Page,
new Script { ExtensionSuite = ExtensionSuite.GridView },
new Script { ExtensionSuite = ExtensionSuite.HtmlEditor },
new Script { ExtensionSuite = ExtensionSuite.Editors },
new Script { ExtensionSuite = ExtensionSuite.NavigationAndLayout },
new Script { ExtensionSuite = ExtensionSuite.Chart },
new Script { ExtensionSuite = ExtensionSuite.Report }
); %>但这会通过一个名为DXR.axd的处理程序呈现一个巨大的2mb javascript文件。当使用Firefox时,这个javascript太大了,页面的加载时间从大约500ms增加到~5000ms(我对其前后进行了计时)。
使用Chrome,加载时间约为750ms
这会严重影响性能,并且在呈现页面时会导致非常明显的暂停。火狐报告说,DOMContentLoaded事件需要5秒才能触发(因为加载和解析2mb的javascript需要很长时间)
我能做些什么来解决这个问题?
我注意到他们自己的网站http://mvc.devexpress.com有完全相同的问题:如果你查看源代码并查找"DXR.axd“,然后下载该文件,它甚至更大,只有2.6mb,而且他们在Firefox中的加载速度也非常慢
发布于 2012-10-29 20:47:22
我想他们创建了一个动态的js文件,而不是使用静态的js文件,只是为了避免人们复制他们的js文件。然而,市场上还有其他没有这个问题的控制措施。如果您需要一个仅能找到there...well的特定控件,那么您必须接受另一个控件套件的problem...otherwise更改。然而,考虑到更多的控件是“开箱即用”的,只需要编写几个代码就可以使用了,更多的是你的performance...go掉了,因为每个控件都有一些你实际上不需要的特性。
发布于 2012-09-29 22:06:15
我不知道如何修复它,但在我目前的项目中,我已经使用DX组件一年多了,所以我只想告诉你一件事:它是第三方组件,所以你必须接受它,没有其他方式。我的项目中的组件也会生成大量的脚本,我个人认为你应该只使用它来解决特定的问题(在我们的例子中是pivotgrid),而糟糕的性能是一种权衡。我自己在他们的组件中发现了几个bug,其中一些是低级实现,他们不能随意修复它,至少现在是这样。
https://stackoverflow.com/questions/12653237
复制相似问题