Приложение My Electron содержит страницу, которая запускает oop в файле JavaScript. L oop обновляется каждые 600 миллисекунд, используя setTimeout. Код прекрасно работает при добавлении значений в текстовую область внутри DOM страниц, но постепенно замедляется примерно на 2-3 миллисекунды каждые 5 секунд, когда я использую JavaScript для обновления высоты прокрутки текстовой области. Использование Chrome Dev Tools не указывает на утечку памяти с первого взгляда.
Кто-нибудь знает, почему это изменение c на DOM постепенно ухудшает производительность, а другое - нет, и как я мог можно исправить проблему?
Пример кода:
const log = document.getElementById('log-text');
function start() {
/// do stuff
core()
}
function core() {
/// do stuff
log.value += "Looping..."; /// this does not appear to affect performance
log.scrollTop = log.scrollHeight /// adding this line progressively worsens performance
// do stuff
coreTimer = setTimeout(core, 600);
}