Commit dba2c4f8 authored by Alexander.Trofimov's avatar Alexander.Trofimov Committed by Alexander.Trofimov

Ускорение для отрисовки при скролле огромного числа скрытых строк (баг...

Ускорение для отрисовки при скролле огромного числа скрытых строк (баг http://bugzserver/show_bug.cgi?id=20388)

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@49876 954022d7-b5bf-4e40-9824-e11837661b57
parent 6855acac
......@@ -1364,7 +1364,7 @@
this.visibleRange.c2 = i - (f ? 1 : 0);
},
/** Вычисляет диапазон индексов видимых колонок */
/** Вычисляет диапазон индексов видимых строк */
_calcVisibleRows: function () {
var l = this.rows.length;
var h = this.drawingCtx.getHeight();
......@@ -3522,18 +3522,27 @@
* @param {Asc.Range} range Диапазон кэширования текта
*/
_prepareCellTextMetricsCache: function (range) {
var self = this, s = this.cache.sectors;
var self = this;
var s = this.cache.sectors;
var isUpdateRows = false;
if (s.length < 1) {return;}
for (var i = 0; i < s.length; ) {
if ( s[i].intersection(range) !== null ) {
if (s[i].intersection(range) !== null) {
self._calcCellsTextMetrics(s[i]);
s.splice(i, 1);
isUpdateRows = true;
continue;
}
++i;
}
if (isUpdateRows) {
// Убрал это из _calcCellsTextMetrics, т.к. вызов был для каждого сектора(добавляло тормоза: баг 20388)
// Код нужен для бага http://bugzserver/show_bug.cgi?id=13875
this._updateRowPositions();
this._calcVisibleRows();
}
},
/**
......@@ -3551,10 +3560,6 @@
col = this._addCellTextToCache(col, row);
}
}
if (range.r1 <= range.r2) {
this._updateRowPositions();
this._calcVisibleRows();
}
this.isChanged = false;
},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment