Start Building Professional
Web Apps Today


 
Categories Question details Back To List
Question  posted by Aran Deltac on Oct 30, 2008 08:37
open dhtmlx forum
Buffering and Smart Rendering

I've implemented a report that gives the user access to 100s of thousands of record with a dozen or so columns. Everything seems to work well except the scrolling isn't smooth. What I mean is: I'm using dynamic smart rendering, and when the user scrolls down they get a slight delay (very slight) before the rows are shown. Even in static smart rendering they get a delay as the grid draws the rows.

What I'd like to know is if Smart Rendering supports the concept of buffering where it will pre-fetch and pre-render a certain number of rows before and/or after the current rows that are visible to the user? I think this would give smart rendering a very polished feel, where right now it feels a bit clunky.
Answer posted by Support on Oct 30, 2008 09:56
The delay in case of static smart-rendering created purposely, to prevent constant rendering while scrolling grid. You can try to decrease it in dhtmlxgrid.js , line 356
  this._dLoadTimer=window.setTimeout(function(){
  self._update_srnd_view();
  }, 100);

>>What I'd like to know is if Smart Rendering supports the concept of buffering where it will pre-fetch and pre-render a certain number of rows 
While working in dynamic mode, grid can request additional data from the server ( count of such data , can be set by second parameter of enableSmartRendering )
In static smart rendering mode, grid renders minimal necessary count of rows. While pre-rendering may be a good idea in some cases, in common case the performance is more critical. 
Can be adjusted at 
  dhtmlxgrid_srnd.js , line 53
    var max=min+this._get_view_size();
can be replaced with 
    var max=min+this._get_view_size()+50;
   dhtmlxgrid.js , line 5377
     max=Math.min(this._get_view_size(), this.rowsBuffer.length);
can be replaced with 
     max=Math.min(this._get_view_size()+50, this.rowsBuffer.length);

Answer posted by Support on Oct 30, 2008 10:12
After additional investigation, we have deside to add such feature in next build of dhtmlxgrid. 
If you need updated codebase - please contact us directly at support@dhtmlx.com