Недавно я начал работать над JS и threejs для разработки игровой среды.
Настройка: данные, которые будут отображаться каждый кадр, поступают с локального сервера в веб-сокет и передаются в три js для рендеринга. Поскольку данные (такие объекты, как автомобили) непрерывно принимаются в сокете, а затем отображаются в три секунды, я просто делаю «scene.remove (mesh)» для всех объектов в каждом кадре и надеюсь, что GC очистит память для него.
Проблема: в некоторой части кода происходит серьезная утечка памяти, которую я не могу понять.
Прилагается скриншот для использования памяти с помощью инструментов Chrome Dev.скриншот утечки памяти .Занятая память в моем браузере увеличивается до 2 Гб. Я пытаюсь выяснить, вызвана ли утечка из-за DOM из-за ссылок на браузер или только из-за того, что три объекта js (сетка, геометрия) не были удалены? Это две причины, которые я мог понять после прочтения утечек памяти, но все еще не мог решить мою проблему.
Любые предложения будут с благодарностью.
Задача ещё не решена.
Других решений пока нет …