staircaseMaker
5.07.2018 - 11:56
Есть приложение, написанное на js с использованием библиотеки THREE.js, которое строит 3D модель и выводит ее на страницу. После каждого обновления модели, вкладка браузера требует все больше памяти. После 50-100 обновлений память заканчивается и браузер виснет. Вот скриншот консоли joxi.ru/Dr8v4KRI4xLd12 Первый снимок до обновления модели, второй – после. Необходимо сделать так, чтобы при обновлении модели память не утекала. Проблема где-то в ядре системы или в самой библиотеке three.js. Общий объем кода ядра системы (который и надо смотреть) в районе 1 тыс. строк. Документации нет, но в любой момент можно оперативно получить от наших разработчиков информацию что как работает и зачем нужно. Исходники скину по запросу.
Цитата |
получить от наших разработчиков |
А не они разрабатывали, раз владеют информацией?
staircaseMaker
Если мне не изменяет память. Вам советовали найти хороших разработчиков во избежании проблем, кажется вы отказались, с купой платят дважды
staircaseMaker
5.07.2018 - 18:40
Цитата (Эли4ка @ 5.07.2018 - 13:29) |
Цитата | получить от наших разработчиков |
А не они разрабатывали, раз владеют информацией?
|
Не совсем понял Ваш вопрос. Вы сможете решить мою проблему?
Цитата (VeRTak @ 5.07.2018 - 15:19) |
с купой платят дважды |
Это 2 опечатки или тонкий юмор?
_____________
Бесплатному сыру в дырки не заглядывают...
Цитата |
Не совсем понял Ваш вопрос. Вы сможете решить мою проблему? |
У вас есть разработчики, которые предоставят информацию. почему они не могут решить проблему с утечкой?
staircaseMaker
5.07.2018 - 22:54
Цитата (Santehnick @ 5.07.2018 - 21:49) |
Посмотрите дифф памяти между снепшотами. Будет видно какие объекты застревают в памяти и там же если развернуть конструктор и выбрать объект будет видно почему сборщик мусора не может его удалить из памяти. Желтым цветом помечается код, который удерживает ссылку на этот объект. Эти участки кода нужно пофиксить и тогда сборщик сможет прибраться.
В threejs можно разрушить все геометрии, материалы и т.п. через метод dispose. Также часто замыкания, события и таймеры являются местами утечки памяти. Дебажьте, в той ут |
Спасибо за толковые советы, но сначала я бы хотел попытаться найти человека, который это сделает вместо меня. Это разовая узкоспециализированная задача, поэтому мне не хочется в этом разбираться, а хочется заплатить за решение. Вот если найти специалиста не получиться, тогда буду сам разбираться
staircaseMaker
6.07.2018 - 20:29
Коллеги, всем спасибо, благодаря [nick]A4Tech_Man[/nick], проблему решили. Если кому-то будет интересно, то проблема была решена таким образом: после удаления объектов из сцены при обновлении модели дополнительно вызывается метод dispose для геометрии и материала для каждого объекта
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.