title: How can I improve the performance of the RichFaces ScrollableDataTable control?
body: <p><strong>First, a little background:</strong></p>
  
  <p>I'm displaying a data set with 288 rows and 8 columns (2304 records) using a ScrollableDataTable and the performance leaves a lot to be desired.  An AJAX request that rerenders the control takes nearly 20 seconds to complete, compared to 7 seconds when rendering the same data using a DataTable control.</p>
  
  <p>Metrics captured via Servlet filters and JavaScript show that virtually all of the processing time is spent on the client-side. Out of a 19.87 second request, 3.87 seconds is spent on the server... with less than .6 seconds spent querying and sorting the data.</p>
  
  <p>Switching to a DataTable control cuts the request, response, and render cycle down to 1/3 of what I'm seeing with the ScrollableDataTable, but also removes several important features.</p>
  
  <p><strong>And now the question:</strong></p>
  
  <p>Has anyone else experienced performance issues with the ScrollableDataTable?  What's the most efficient way to render large amounts of tabular data in JSF/RichFaces with pinned columns and two-axis scrolling?</p>
  
  <p><strong>Update:</strong></p>
  
  <p>We ended up writing a custom control.  Full control over the rendered components and generated JavaScript allowed us achieve a response time comparable to the DataTable.  I agree with Zack though - pagination is the correct answer.</p>