обновление браузера не выполняет сборку мусора

Я обнаружил это во всех протестированных браузерах -IE, Firefox, Chrome и Safari в Windows и Safari в Apple.

Предположительно, обновление браузера, кнопка «Назад» или ссылка вперед должны сбрасывать узлы браузера, переменные и объекты javascript и т. д. Похоже, что это не относится к WebGL. Впервые я заметил это при разработке сложного WebGL-приложения, для которого требуется от 100 до 200 МБ памяти. Во время разработки мне приходилось делать много обновлений, и мой компьютер начинал тормозить и зависать после 5 -10 обновлений.

После некоторых исследований я понял, что этого не должно быть. Принятое решение из-за утечки памяти — обновить страницу, которая должна освободить все объекты и переменные javascript и узлы dom. Но взгляните на следующие изображения:

Так в чем же дело? В небольших приложениях это не заметно, но для больших приложений WebGL, таких как мое (orbitingeden.com ), это реальная проблема, и мои пользователи будут думать, что программное обеспечение требует еще больше ресурсов, чем оно есть на самом деле.. На следующем изображении показано, как эти обновления поглощают всю мою доступную память, поэтому сборка мусора не работает и/или объекты JS и DOM не освобождаются:

enter image description here
(источник:orbitingeden.com)

Кто-нибудь знает трюк, чтобы заставить браузер сделать настоящий дамп памяти? Почему вся документация неверна?

9
задан Glorfindel 21 August 2019 в 17:28
поделиться