Render.ru

Ненормальный жор RAM в 2016, и как с этим бороться.

ab460

Активный участник
Рейтинг
5
#1
Странное дело, например простое чтото делаю в максе, ну скажем анимирую десяток примитивов, сперва всё нормально, смотрю сйедено примерно 500мб оперативки, потом через некоторое время кручения одной и тойже сцены, скажем через пол часа, сйедание памяти взлетает както нездорово быстро, пока практически не достигает 90% (4гб), понимаю что это мало, но на что она тратится ? Текстур в сцене не используется. Undo выставлено 2 шага всего. При том конфигурация сцены практически ни меняется - могу удалить\добавить примитив, ну и ключи двигаю туда сюда (которых неочень то и много), всё.
Да, и резет сцены не помогает - всё остаётся висеть в оперативке. Только макс перегрузить если. Но не будешь же через каждые пол часа перегружать.

Стал гуглить решения, нагуглил три команды: gc() (очистка от какогото мусора?), freescenebitmaps() — очистка памяти от текстур и clearUndoBuffer() — удаление отменённых действий Undo.
Последние две понятно что не пригодятся в моём случае, первую пробую прописывать - выдаёт какуюто цифру в окне скриптов и всё, ничего не "освобождатся".

Какието мысли может быть есть по этому поводу ? Илик акието ещё средства отчистки памяти внутри макса (ну типа незнаю Purge в фотошопе). Впринципе при таком поведении ему и 16 гигов мало будет. Может насамом деле баг какой.

UP Или может быть средство для мониторинга есть внутри макса чем именно память на данный момент занята ? Я на скриптспоте скрипт находил (cleaner), но там для в-рея больше помоему, да и то он у меня не открылся в 2016. [EDIT] Понял как этот скрипт запустить, ешё не пробовал в работе.

Ещё вот этот сейчас нашёл, надо попробовать.. http://www.scriptspot.com/3ds-max/scripts/free-memory-v1
 
Последнее редактирование:

ab460

Активный участник
Рейтинг
5
#2
Вобщем пробовал оба скрипта, не помогло, обьём занятой памяти не меняется.
 

ab460

Активный участник
Рейтинг
5
#4
Напишите какая модель видеокарты у вас, её объем; если интегрированная, то модель ЦП.
Заранее извиняюсь, немного соврал. Заметил что если просто всё как я сказал делать - то вроде не получается воспроизвести такую ненормальную забивку памяти, причина похоже таки в плагине (или плагинах). Купил недавно вот этот плаг https://wallworm.com/store/index.php?route=product/product&product_id=59
о котором уже упоминал недавно, так вот в нём если крутить какой либо параметр (после применения на обьекте) то оперативка начинает сйедаться с ненормальной скоростью. Причём это любое действо, т.е. изменение любого парметра в окне настройки Проплайна, даже просто офсет мышкой крутанёшь (расположение нескольких примитивов на сплайне) это сьедает 15-20мб (крутил при открытом диспетчере задач).
Хотя по идее непонятно чем она забивается - тут нет моделирования\текстурирования. Просто расположение обьекта.
Сравнивал также с поведением максовского SpaceTool (аналогом данного плага) - он тоже вообщето отьедает, но значительно меньше, почти не существенно.
Думаю снять небольшое видео и автору отослать, может есть возможность оптимизировать..

Карта GTX760 2гб (Asus), да, один момент - я для макса отключил Cuda в панели управления нвидии\управление параметрами 3д\настройка для программы. Но не думаю что это может быть связанно с забиванием оперативки (или может? :rolleyes:).

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

ab460

Активный участник
Рейтинг
5
#5
Мда, всётаки я зря обвинял автора конкретного плагина в проблеме, покрутил ещё несколько параметрических скриптов (от других сторонних авторов, в т.ч. довольно продвинутых), попадается такое же поведение - память прсото улетает по 50мб в пустоту, при обычном кручении параметров. Причём происходит это не линейно както. То килобайты отьедает, то как уже сказал десятки метров а то и сотни. Вобщем, вероятно для макса такое поведение норма..
 
Сверху