Способы очистки оперативной памяти от не используемых в данный момент объектов в сцене в 3DMax.

Автор
Сообщение
На сайте c 28.05.2018
Сообщений: 199

Доброго дня.

Я периодически сталкиваюсь с проблемой, нехватки оперативной памяти, проблема находит меня только в 3DMax. 3DMax вместе с Corona Renderer просто неимоверно пожирают мою оперативную память! В общем у меня не большой объем RAM всего 16 ГБ, остальные программы (например Photoshop, ACad) не имеют никаких проблем с нехваткой оперативной памяти.

При создании тяжелых сцен, 3DMax требует больших объемов RAM и это нормально, но хуже всего тот факт, что очень часто 3DMax оставляет в оперативной памяти уже не нужные для сцены объекты, которые прежде были загружены в мою сцену, но впоследствии сразу же уделенные из сцены! Очень часто, именно по этой причине оперативной памяти и не хватает.

Постараюсь описать простой пример из работы более детально:

Я загрузил тяжелый объект в сцену, объектом может быть старая сцена из моего архива или просто какая нибудь тяжелая модель. Я посмотрел этот объект, взял что нужно оттуда или просто удалил его из сцены т.к. он мне не подошел/не понравился и тд, но после удаления ненужного объекта, 3DMax упорно продолжает держать этот объект в оперативной памяти!

Это наглядно видно в Диспетчере устройств, - в закладке "Быстродействие" я вижу насколько была забита моя оперативная память ДО и ПОСЛЕ загрузки объекта в сцену.

Получается так, что до загрузки объекта, 3DMax использовал значительно меньшее количество оперативной памяти (например 8 Гб использовалось), но после загрузки и даже после последующего удаления этого тяжелого объекта, моя память не высвобождается! (например уже используется 12 Гб !) Это выглядит очень не рационально и даже временами мешает работать. Я уже удалил причину по которой использование моей RAM возросло, но память по прежнему занята.

Иногда я жду когда же RAM освободится от предыдущей загрузки, но этого не происходит. В этом случае мне приходится закрывать и перезагружать сцену. После перезагрузки сцены оперативная память вновь освобождается, и лишь тогда можно работать дальше.

Мой вопрос: Существует ли способ очистить RAM от висящих там объектов, которые не используются в данный момент никакими активными приложениями? Может быть есть такой способ в самом 3DMax? Может он есть в системе Windows?

Я бы хотел найти способ без перезагрузки 3D Max

На сайте c 31.03.2011
Сообщений: 10029
Renderfarm

16 гигов оперативки для рендера - смешной объем, докупите хотя бы до 32, тем более, что оперативка нынче копеечная, например на вторичке 64 гига оперативки можно купить за 15т.р (средняя цена на авито за ддр4)

очистить память можно только до того момента пока начнется рендер, но там он сам выгрузит все ненужное и без всяких скриптов

На сайте c 28.05.2018
Сообщений: 199
Цитата xpp_nd_ruphus:
16 гигов оперативки для рендера - смешной объем, докупите хотя бы до 32, тем более, что оперативка нынче копеечная, например на вторичке 64 гига оперативки можно купить за 15т.р (средняя цена на авито за ддр4)

К сожалению, не могу докупить. У меня DDR3 , но топовая на 2013 - 

DDR3 16Gb (4x4Gb) 2400MHz Corsair Vengeance 10-12-12-31 CMZ16GX3M4A2400C10

Сейчас такой нет уже нигде. Более низкую по качеству и частотам/других производителей память ставить не хочу... да и нет смысла.

Цитата xpp_nd_ruphus:
очистить память можно только до того момента пока начнется рендер, но там он сам выгрузит все ненужное и без всяких скриптов

Нет это нет так. Именно в момент запуска рендера у меня просто вылетит 3DMax с мессаджем - "нехватка RAM"

Иногда вылетает при денойсинге, когда потратил часа два на рендер и вконце работы - Упс.... Во время денойсинга Макс жрет ЕЩЕ БОЛЬШЕ оперативки...

На сайте c 31.03.2011
Сообщений: 10029
Renderfarm

Gertruda Potolkova вам стоит разобраться в железе хотя бы чуть чуть - ddr3 сейчас вообще отдают за бесценок и ее можно спокойно ставить разных производителей и разными частотами

"более низкую по качеству" - несколько смешно звучит

На сайте c 28.05.2018
Сообщений: 199
Цитата xpp_nd_ruphus:
Gertruda Potolkova вам стоит разобраться в железе хотя бы чуть чуть - ddr3 сейчас вообще отдают за бесценок и ее можно спокойно ставить разных производителей и разными частотами

Дорогой вы меня не слышите... Я говорю НЕТ такой памяти! НЕТ нигде. Если вы можете найти мне такую память

DDR3 16Gb (4x4Gb) 2400MHz Corsair Vengeance 10-12-12-31 CMZ16GX3M4A2400C10

то буду вам благодарен.

"более низкую по качеству" - несколько смешно звучит" - согласен.

но мой Комп 2013 года, так не думает

Цитата Gertruda Potolkova:
Более низкую по качеству и частотам/других производителей память ставить не хочу... да и нет смысла.

Но мы смещаемся от темы. Мне интересен ответ на вопрос: Как юзер может очистить Ram от объектов которые не используются в данный момент никаким активным приложением?

На сайте c 13.06.2015
Сообщений: 918
Ukraine, Kyiv

а зачем такую же?

Цитата Gertruda Potolkova:

Я говорю НЕТ такой памяти! НЕТ нигде. Если вы можете найти мне такую память
На сайте c 08.10.2011
Сообщений: 748
Moscow
Попробуйте скрипт Prune Scene. Автор здешний. Тут на форуме:https://3ddd.ru/forum/thread/show/prune_scene  
На сайте c 28.05.2018
Сообщений: 199
Цитата freys2011:
Gertruda Potolkova а зачем такую же?

Моя память уже далеко не топовая на 2021, более медленную по таймингам или частотам не хочу иметь. Поставив более медленную я должен буду замедлить свою существующую. Она итак проигрывает нынешним поколениям DDR4, далее замедлятся за счет объемов не намерен. Кроме этого неизвестно вообще как будут работать объемы от других производителей с моей существующей памятью. Я бы предпочел ставить того же производителя, с такими же таймингами и частотами, но такую пока я не могу найти

В общем это уже другая тема... Моя тема назвается - "Способы очистки оперативной памяти от не используемых в данный момент объектов в сцене в 3DMax"

На сайте c 28.09.2015
Сообщений: 77

10лет компу уже, какие тут вопросы могут быть?обновись уже наконец и повод есть избавится от глюков!

дидир3 16гб это вообще не о чем если серьёзно работаешь, а не баловства ради))))

На сайте c 04.06.2010
Сообщений: 3876
Цитата Gertruda Potolkova:
но после удаления ненужного объекта, 3DMax упорно продолжает держать этот объект в оперативной памяти!... Я уже удалил причину по которой использование моей RAM возросло, но память по прежнему занята... Иногда я жду когда же RAM освободится от предыдущей загрузки, но этого не происходит.

Ждун )))). Как он её освободит, если есть история операций. Он объект при возвращение откуда в макс развернет как не из памяти )). Scene undo - 1 поставьте и сделайте одну итерацию объекта.

На сайте c 28.05.2018
Сообщений: 199
Цитата filatkin_m:
Попробуйте скрипт Prune Scene. Автор здешний. Тут на форуме:�https://3ddd.ru/forum/thread/show/prune_scene   

Цитата Slazzo:
Цитата Gertruda Potolkova:
очень часто 3DMax оставляет в оперативной памяти уже не нужные для сцены объекты, которые прежде были загружены в мою сцену, но впоследствии сразу же уделенные оттуда!

убрать ненужные алокаций в память можно только через очистки undo/redo и gc (garbage collector). для этого хватает сохранить файл и перезапустить макс или через макскрипт clearUndoBuffer(); gc(); но изменения не будут многовенные, есть и фактор дефрагментаций, кроме этого в макс может засорится другими вещями как например кэш текстур, по этому можно дополнить к скрипту freeSceneBitmaps(); или вовсе если исползуется proxybitmaps убрать галку в настройках так как по большому клоны текстур исползуется только максом а не рендер движком...

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

п.с. писал бухой в вторник

Спасибо товарищи попробую изучить тему и попробовать

Цитата Igor5566:

10лет компу уже, какие тут вопросы могут быть?обновись уже наконец и повод есть избавится от глюков!

дидир3 16гб это вообще не о чем если серьёзно работаешь, а не баловства ради))))

Нет не 10 лет! Я ошибся, мой комп я собирал в 2013 , a не в 2012 как я сказал ранее но даже если бы он был из 2012, то ему было бы 9 лет) Моему компу сегодня 7 лет, 8 будет в этом году но позже)

Надо исправить инфу...

На сайте c 28.09.2015
Сообщений: 77
от этого он быстрее не станет работать!это старье от которого давно надо было избавится!нормальные 3дшники обновляются каждые 2-3года на новую платформу, ну если конечно у тя не рендер ферма)))))

Цитата Igor5566:

10лет компу уже, какие тут вопросы могут быть?обновись уже наконец и повод есть избавится от глюков!

дидир3 16гб это вообще не о чем если серьёзно работаешь, а не баловства ради))))

Нет не 10 лет! Я ошибся, мой комп я собирал в 2013, но даже если бы он был из 2012, то ему было бы 9 лет)

Надо исправить инфу...

На сайте c 28.05.2018
Сообщений: 199
Цитата Rebate:
Цитата Gertruda Potolkova:
но после удаления ненужного объекта, 3DMax упорно продолжает держать этот объект в оперативной памяти!... Я уже удалил причину по которой использование моей RAM возросло, но память по прежнему занята... Иногда я жду когда же RAM освободится от предыдущей загрузки, но этого не происходит.

Ждун )))). Как он её удалит, если есть история операций. Он объект при возвращение отдука в макс развернет как не из памяти )). Scene undo - 1 поставьте и сделайте одну итерацию объекта.

А вы думаете я "жду" сложа руки уставившись на экран, вытирая слезы рукавом? Лол! Да я десяток итераций делаю и работаю дальше, жду в процессе работы. Все равно остается в памяти мусор. undo - 1 правда не помню делал ли, но сомневаюсь что это поможет.

На сайте c 24.12.2010
Сообщений: 898
Туркменистан
память хорошо жрет история (откуда ни возьмись). Если мало памяти. Можно в ущерб работе ее "заткнуть" до 5-20 шагов. Остальное должно по идее выкидываться
На сайте c 04.06.2010
Сообщений: 3876
Цитата Gertruda Potolkova:
undo - 1 правда не помню делал ли, но сомневаюсь что это поможет.

Проверьте. Я то проверил прежде, чем опубликовал пост. Но часть мусора от него останется, имхо, это макс не убирает зафрахтованное место в памяти... по крайне мере сразу.

На сайте c 28.05.2018
Сообщений: 199
Цитата Igor5566:
от этого он быстрее не станет работать!это старье от которого давно надо было избавится!нормальные 3дшники обновляются каждые 2-3года на новую платформу, ну если конечно у тя не рендер ферма)))))

Самый ненужный совет...

Если бы я мог сегодня купить новый компьютер, тогда зачем бы я задавал такой вопрос? Видимо не в курсе как железо подскочило в цене? С одними видеокартами просто беда уже который год...  Что, не подняли в рублях, то майнеры сожрали... 

К сожалению сегодня у меня нет возможностей собрать себе новый PC, да и в целом, мой PC не настолько ужасен. У меня хороший 12-потоковый процессор, который справляется с рендерингом не так уж и плохо, просто только для Corona Renderer не хватает RAM 

Цитата DizArtWork:
память хорошо жрет история (откуда ни возьмись). Если мало памяти. Можно в ущерб работе ее "заткнуть" до 5-20 шагов. Остальное должно по идее выкидываться

Спасибо за деталь! У меня высокий уровень Undo Levels, возможно нужно уменьшить!

Цитата Slazzo:
открою америку через фортачку, если у вас меш который допустим весит 10гб и вы на него накладываете модификатор эдит поли или что-то ещё в процесе которого вы его убиваете, пока вы не сколапсите стэк и и не очитсите undo он будет висеть в памяти

Спасибо за совет! А как я могу очистить Undo? что то не припоминаю

Цитата Rebate:
Проверьте. Я то проверил прежде, чем опубликовал пост. Но часть мусора от него останется, имхо, это макс не уберет зафрахтованное место в памяти... по крайне мере сразу.

Спасибо, уже есть что-то полезное!

Мне кажется что суть проблемы заключена в Undo! 3DМакс хранит все эти объекты, для того чтобы юзер мог вернутся к ним!

На сайте c 04.06.2010
Сообщений: 3876
Цитата Gertruda Potolkova:
Она итак проигрывает нынешним поколениям DDR4

И чё, сильно проигрывает? В каких играх? ))

"DDR3-1600 имеет задержку в 12.5 нс, а задержка у DDR4-2666 составляет 12.75 нс, что примерно одно и то же. Но DDR4 в этом случае обеспечивает пропускную способность в 21.3ГБ/С, а DDR3 только 12.8ГБ/С."

В каком месте макса вам сильно нужно больше пропускной способности, кроме момента прекеша при подготовке рендера?))))))

На сайте c 24.12.2010
Сообщений: 898
Туркменистан
Цитата Gertruda Potolkova:
У меня хороший 12-потоковый процессор, который справляется с рендерингом не так уж и плохо, просто только для Corona Renderer не хватает RA

До декабря этого года работал на 3930х (я так подозреваю он у Вас) и умилялся как это 10 летний комп работает нормально. Но решил обновиться на 5950х. Сказать что я АХ и придумайте окончание....ничего не сказать....Много мелких факторов друг от друга зависят. Что проц, что оперативка, а еще и ссд подтянулись над сложными сценами. Найдите силы, найдите возможности. Вы выиграете больше в итоге чем сидеть по пол часа (в замен 5 минут) рендерить. На видеокарты вот вообще не смотрите. Да. Купил. ДА стоит. Но я ей не пользуюсь (по работе) 

На сайте c 28.05.2018
Сообщений: 199
Цитата Rebate:
И чё, сильно проигрывает? В каких играх? )) "DDR3-1600 имеет задержку в 12.5 нс, а задержка у DDR4-2666 составляет 12.75 нс, что примерно одно и то же. Но DDR4 в этом случае обеспечивает пропускную способность в 21.3ГБ/С, а DDR3 только 12.8ГБ/С." В каком месте макса вам сильно нужно больше пропускной способности? В момент прекеша при подготовке рендера?))))))

я не буду умничать, поскольку не спец в железе) Судя по вашим цифрам не особо то и проигрывает. Просто DDR4 быстрее чем DDR3 согласно прогрессу технологий, я опирался на эту идею, без вникания цифр.

В играх моя память норм, хотя я играю то только в 2-3 игры (Arma3, Elite Dangerous, Homeworld2) 

Цитата DizArtWork:
До декабря этого года работал на 3930х (я так подозреваю он у Вас)

Совершенно верно! 

Intel Core i7-3930k (C2) 3.2 GHz | Socket 2011 | 12 Mb

Цитата DizArtWork:
Но решил обновиться на 5950х. Сказать что я АХ и придумайте окончание....ничего не сказать....Много мелких факторов друг от друга зависят. Что проц, что оперативка, а еще и ссд подтянулись над сложными сценами. Найдите силы, найдите возможности. Вы выиграете больше в итоге чем сидеть по пол часа (в замен 5 минут) рендерить

Спасибо Вам, за такой совет! Я внял! Я обязательно возьму себе новый PС, уже собирал его в мыслях и не раз. Подсчитывал стоимость. Просто сегодня видимо пространство не благоволит мне)

Цитата DizArtWork:
На видеокарты вот вообще не смотрите. Да. Купил. ДА стоит. Но я ей не пользуюсь (по работе) 

Не видюха мне нужна все же, для работы с вьюпортами и миллионами полигонов)

Но это уже третья история. Сейчас, мне только нужно научиться очищать RAM!

На сайте c 24.12.2010
Сообщений: 898
Туркменистан

(Предварительно убрав Undo до 2) 

Левая стрелка. Создал 10 копий офисного набора столов стульев. (ну не важно в принципе) . Средняя стрелка убрал их из сцены (удалил) Ну и правая стрелка сделал 2 действия перезаписать историю макса 

Читают эту тему: