Есть ли способ снизить нагрузку на браузер при большом количестве уравнений MathJax?

Можно ли снизить нагрузку на браузер при большом количестве уравнений MathJax?

Привет, я занимаюсь математикой в своём Discourse с помощью множества уравнений. Благодаря этому плагину у меня всё работает отлично.

Однако по мере увеличения длины моей статьи (сейчас около 30 уравнений) браузер начинает работать с большой нагрузкой: вентилятор компьютера шумит, веб-страница реагирует довольно медленно, а нажатие любой клавиши на клавиатуре приходится ждать долго, прежде чем появится отклик.

Поэтому я думаю, что проблема в том, что я использую слишком много уравнений, но мои математические формулы нельзя игнорировать :joy: — я не могу удалить большинство из них.

Так что я спрашиваю: возможно ли создать режим, в котором плагин MathJax для математических уравнений не обрабатывает их мгновенно, а парсит уравнения каждые 10 секунд или только после того, как я полностью отправлю ответ? Или можно настроить автоматический переключатель: если в ответе меньше 10 уравнений, MathJax работает мгновенно, а если больше — работает с задержкой?

Я обсуждаю возможные способы улучшения этого плагина с @joffreyjaffeux, и мне кажется, что наш текущий план может также помочь с производительностью.

Вы пробовали переключиться с MathJax на KaTeX? (В настройках плагина) Это должно быть намного быстрее.

В прошлый раз, когда я использовал KaTeX, кто-то сказал, что MathJax работает намного быстрее :rofl:

Так что я wondering, есть ли у вас доказательства, какой из них быстрее и надежнее?

Вероятно, речь шла о MathJax версии 3.3, который в некоторых ситуациях действительно может быть быстрее KaTeX. Однако плагин Math использует MathJax версии 2.7, который обычно значительно медленнее KaTeX.

Возможно, более важным является тот факт, что все версии MathJax обладают гораздо более широким набором функций по сравнению с KaTeX. Если вы перейдете на KaTeX, вы потеряете контекстное меню, предоставляемое MathJax, что для меня является решающим фактором. MathJax также поддерживает несколько форматов ввода (TeX, AsciiMath, MathML) и вывода (HTML, SVG).

@Falco, я думаю, что правильный способ улучшить плагин — это обновить версию MathJax до последней, версии 3. Однако это не так просто, поскольку API претерпел значительные изменения. С другой стороны, новый API, на мой взгляд, представляет собой огромное улучшение, хотя документация по нему пока еще не полностью разработана.

Я думаю, я нашёл способ!

Просто закройте окно предпросмотра — давление будет намного ниже, и всё работает хорошо.

Если хотите проверить предпросмотр, включите его на короткое время и сразу закройте.