hansl1963
27 Mar 2011, 1:01 PM
I'm using BufferView (about 10000 records) and discovered that its acting very slow in IE7 and IE8. The CPU jumps to 100% and stays there for about 50 sec and freezes the browser when you start to scroll, resize and so on.
The performance in Firefox is great (CPU raises but within 5 seconds its back to 0)..
Looking into the code of BufferView i notice that the 'doClean' method is the problem:
doClean: function(){
if (this.getVisibleRowCount() > 0) {
var vr = this.getVisibleRows();
vr.first -= this.cacheSize;
vr.last += this.cacheSize;
var i = 0, rows = this.getRows();
// if first is less than 0, all rows have been rendered
// so lets clean the end...
if(vr.first <= 0){
i = vr.last + 1;
}
for(var len = this.ds.getCount(); i < len; i++){
// if current row is outside of first and last and
// has content, update the innerHTML to nothing
if ((i < vr.first || i > vr.last) && rows[i].innerHTML) {
rows[i].innerHTML = '';
}
}
}
},
After removing the
&& rows[i].innerHTML the BufferView is running much faster in IE. Almost the same as Firefox!!
Can somebody tell me why this piece of code was implemented?
And more important, am i introducing new bugs by removing this piece of code?
Hope someone can tell me..:-?
Hans
The performance in Firefox is great (CPU raises but within 5 seconds its back to 0)..
Looking into the code of BufferView i notice that the 'doClean' method is the problem:
doClean: function(){
if (this.getVisibleRowCount() > 0) {
var vr = this.getVisibleRows();
vr.first -= this.cacheSize;
vr.last += this.cacheSize;
var i = 0, rows = this.getRows();
// if first is less than 0, all rows have been rendered
// so lets clean the end...
if(vr.first <= 0){
i = vr.last + 1;
}
for(var len = this.ds.getCount(); i < len; i++){
// if current row is outside of first and last and
// has content, update the innerHTML to nothing
if ((i < vr.first || i > vr.last) && rows[i].innerHTML) {
rows[i].innerHTML = '';
}
}
}
},
After removing the
&& rows[i].innerHTML the BufferView is running much faster in IE. Almost the same as Firefox!!
Can somebody tell me why this piece of code was implemented?
And more important, am i introducing new bugs by removing this piece of code?
Hope someone can tell me..:-?
Hans