Сообщение от Gvozd
|
попробуй использовать вместо $().html(), который как я предполагаю является аналогом innerHTML, createElement
думаю этот метод займет чуточку больше времени на генерацию таблицы, но добавление собранной в памяти таблицы займет гораздо меньше времени, наверно
|
Не прибавило скорости... Даже убавило - 15 строк рисуются на 100 мс больше...
Заметил, что много времени (где-то 100-150 мс на 15 строк) тратится на удаление прошлой таблицы.
Например, мне надо вывести следующие 15 строк.
Я удаляю старую таблицу и создаю новую. Так вот, последующие создания (обновления) требуют на 100-150 мс больше...
Пытался заменить switch на массив из function, т.е.:
var fa = [];
for (ci = 0; ci < cc; ci++) {
switch(myTable[0].Col[ci].Type) {
case 'int': {
fa[ci] = function(Col) {
Col = new Date(parseInt(Col));
Col = Col.getTime();
};
} break;
case 'text': {
fa[ci] = function(Col) {
Col = '"' + Col + '"';
};
} break;
}
}
И дальше вместо
switch сразу вызывать функцию через
fa[ci]( myTable[ri].Col[ci].Value).
Но это заняло на порядок больше времени, чем простой switch...
PS: А что, если в switch манипулировать цифрами, а не текстом?
Т.е. вместо int использовать 0, вместо text - 1?
С точки зрения машины, будет ли это производительней?