gpt4 book ai didi

jsf - 如何提高 RichFaces ScrollableDataTable 控件的性能?

转载 作者:行者123 更新时间:2023-12-03 17:22:06 24 4
gpt4 key购买 nike

先来一点背景:

我正在使用 ScrollableDataTable 显示具有 288 行和 8 列(2304 条记录)的数据集,但性能仍有很多不足之处。重新呈现控件的 AJAX 请求需要将近 20 秒才能完成,而使用 DataTable 控件呈现相同数据时则需要 7 秒。

通过 Servlet 过滤器和 JavaScript 捕获的指标显示,几乎所有的处理时间都花在客户端上。在 19.87 秒的请求中,有 3.87 秒花费在服务器上……查询和排序数据所花费的时间不到 0.6 秒。

切换到 DataTable 控件将请求、响应和呈现周期减少到我所看到的 ScrollableDataTable 的 1/3,但也删除了几个重要的功能。

现在的问题是:

有没有其他人遇到过 ScrollableDataTable 的性能问题?在 JSF/RichFaces 中使用固定列和两轴滚动呈现大量表格数据的最有效方法是什么?

更新:

我们最终编写了一个自定义控件。完全控制呈现的组件和生成的 JavaScript 使我们能够实现与 DataTable 相当的响应时间。不过我同意 Zack 的观点——分页是正确的答案。

最佳答案

瓶颈很可能出现在 JSF 生命周期的“渲染响应”阶段。它试图一次为 View 渲染太多组件。

我的建议是使用分页。它应该会显着提高您的性能,因为它一次渲染 View 的较小部分。

请确保您的 rich:dataTablerows设置属性,并且——如果你在做任何列过滤——确保日期表也有属性 reRender="paginator"分页器是您的 rich:datascroller .

关于jsf - 如何提高 RichFaces ScrollableDataTable 控件的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/86171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com