Во-первых, все, что ниже, является предположением. Вы профилировали страницу, чтобы увидеть, где находятся узкие места? Есть ли публичный URL, где мы можем увидеть это в действии?
Небольшое улучшение, вероятно, может быть достигнуто переключением на .delegate()
или .on()
для прикрепления событий. Прикрепите событие как можно ближе к сетке. Я сомневаюсь, что это очень поможет.
По сути, это звучит так, будто вы пытаетесь реализовать электронную таблицу, поэтому я бы посоветовал использовать те же методы, что и в электронной таблице. Используйте график зависимостей, чтобы определить, что действительно нужно пересчитать при изменении ячейки. Храните промежуточные результаты вещей, которые не очень часто меняются. Вместо того, чтобы пытаться пересчитать все сразу, используйте setTimeout для расчета нескольких строк сетки за раз.