Выделение оперативы под процесс

  • Автор темы jogr
  • Дата начала
W

welcomeinside

Guest
есть весьма ощутимая вероятность что твоя версия 3dmax не умеет распаралеливать вычисления на 4 ядра

угумс. на количество процессоров по умолчанию раскидывает, а на ядра - надо дополнительно колдовать... причем фишка макса в штатной настройке при распаралеливании в том, что 1 кадр (картинка) рендерится 1-м процессором/процессом... количество процов/ядер сказывается при рендеринге анимации - каждый проц работает с одним кадром, соотв. если имеем 2 проца - то аниме идет в 2 раза шустрее (при достаточном запасе памяти)... ну и т.д. - 4, в 4, 8 - в 8...

кстати для производительности можно (нужно) использовать рендерные наДстройки сторонних производителей...

плюс БОЛЬШОЙ ПЛЮС - сетевой рендеринг... запускаешь серверно-клиентскую связку на все доступные машины и каждая трудится в силу возможностей.. дает отменные результаты...
 
Denwer

Denwer

Новичок
Регистрация
07.03.2006
Сообщения
21 370
Реакции
115
Баллы
0
А, ну это ограничение уже самого приложения, а не со стороны ОС.

В виндовсе есть так называемые джобы(JOB), это более крупная единица нежели процесс, в которой можно запустить(хотя правильнее нужно сказать сделать assign) процесс или несколкьо с некоторыми ограничениями. В том числе есть ограничения и по памяти. Эти джобы удобны для управления группой процессов.
 
D

Dvorkyn

Guest
в 3dmax я не спец, но есть весьма ощутимая вероятность что твоя версия 3dmax не умеет распаралеливать вычисления на 4 ядра. а частота 1 ядра как бы не особо.

Если не спец, то лучше ничего и не предполагать, дабы не вносить сомнение..
Замечательно разруливает процесс на 4 ядра, загружает по 100% каждое.
 
D

Dvorkyn

Guest
Процесс себе берет столько памяти, сколько ему нужно.

Но не больше, чем ему позволит 32 разрядный хрюша, а именно 2 ГБ памяти на ОДИН процесс. (не процессор). Хоть уср...сь. И это с учетом вставок в boot.ini (/3GB)
 
D

Dvorkyn

Guest

Дабы не вдаваться в теоретические измышления, единственный способ полноценно работать с 4 ГБ оперативной памяти - ставить 64 битные версии операционки и самого макса. После перехода на них, забыл вообще что такое "не хватает памяти", синий экран, слетевший процесс и т.п.
 
Nusferatus

Nusferatus

Super Moderator
Регистрация
01.12.2006
Сообщения
40 161
Реакции
179
Баллы
63
Но не больше, чем ему позволит 32 разрядный хрюша, а именно 2 ГБ памяти на ОДИН процесс.
Тоже верно, +1.
Тока вот чессказать не могу себе представить необходимости использвания такого большого объёма памяти.
 
D

Dvorkyn

Guest
Тоже верно, +1.
Тока вот чессказать не могу себе представить необходимости использвания такого большого объёма памяти.

В максе пипец как актуально. И я бы от 8 Gb не отказался..и это не пальцовка, мы ими на хлебушек зарабатываем.
 
Nusferatus

Nusferatus

Super Moderator
Регистрация
01.12.2006
Сообщения
40 161
Реакции
179
Баллы
63
В максе пипец как актуально. И я бы от 8 Gb не отказался..и это не пальцовка, мы ими на хлебушек зарабатываем.
Я понимаю о чём ты - чтобы массивы объектов, текстуру и прочее хранить в оперативке и чтобы при растеризации запись видео шла с минимальными временными издержками? Просто сдаётся мне, что там основной ступор по времени идёт не из-за скорости записи, а из-за мат.расчётов или я не прав?
 
W

welcomeinside

Guest
Dvorkyn, вопрос в тему, раз имеете понятие о предмете:
использовали ли вы когда-либо hw-ресурсы видеокарты для рендеринга? (именно "расчетные" ресурсы видео процессора) ... если да, то как оно себя проявило?...
у меня не получалось за неимением достаточного уровня аппаратного обеспечения...
 
D

Dvorkyn

Guest
Просто сдаётся мне, что там основной ступор по времени идёт не из-за скорости записи, а из-за мат.расчётов или я не прав?

В общем-то верно. Нехватка памяти приводит к сваливанию в своп, а там уже не работа, а жужжание винта..
Поэтому чем больше процессоров и памяти, тем меньше бессонных ночей.
 
D

Dvorkyn

Guest
Dvorkyn, вопрос в тему, раз имеете понятие о предмете:
использовали ли вы когда-либо hw-ресурсы видеокарты для рендеринга? (именно "расчетные" ресурсы видео процессора) ... если да, то как оно себя проявило?...
у меня не получалось за неимением достаточного уровня аппаратного обеспечения...

Нет, не использовал, за дороговизной оборудования и весьма пессимистичных отзывах в обзорах. Простите 5 штук баксов отдать за сомнительный прирост производительности? Ну-ка давайте посчитаем сколько за эти денежки мы поставим четырехядерных интелов в ферму? Метод тупой, зато работающий, причем производительность считается прямо пропорционально, как Вы правильно выше заметили. Ну и зачем нам этот кузнец? Простите неведомый зверек.
 
Nusferatus

Nusferatus

Super Moderator
Регистрация
01.12.2006
Сообщения
40 161
Реакции
179
Баллы
63
В том, что данная опция - это действительно ограничение в приложении, а не ограничение приложения. Если ты ограничишь приложение, которое скажем выделяет 5 метров памяти под себя, 2мя метрами, то при обработке _malloc винда ему не даст столько памяти и тупо закроет с руганью. Вот и всё.
 
Denwer

Denwer

Новичок
Регистрация
07.03.2006
Сообщения
21 370
Реакции
115
Баллы
0
В том, что данная опция - это действительно ограничение в приложении, а не ограничение приложения. Если ты ограничишь приложение, которое скажем выделяет 5 метров памяти под себя, 2мя метрами, то при обработке _malloc винда ему не даст столько памяти и тупо закроет с руганью. Вот и всё.

Не всегда так, хороший коммерческий софт работает и по чесному. А именно реализуются различные алгоритмы по использованию памяти. Вот пара примеров
1 - Необходимо отсортировать массив данных, причем заведомо знаем что для хранения достаточно одного байта. Тут поступить можно двумя способами. а) хранить и сортировать однобайтовые значения(+память -процессор, но с некоторыми оговорками) б) хранить и сортировать в 4-х байтных величинах используя только 1 байт от туда (-память, + процессор). Этот эффект достигается за счет того, что для считывания 1 байта памяти процессор всеранво читает 4 байта, но 3 из них маскирует.
2. Для ускорения работы некотоыре приложения используют свой менеджер памяти(кстати говоря компилято делфи использует именно свой менеджер памяти), который может рабоать рабоать по разным стартегиям, один из вариантов, когда процессор загружен память только выделяет, когда есть свободный процессор то начинается сборка мусора. Если приложению не удалось выделить память, то нужно просто запусть сборщик мусора, и опять сделать попытку выделения.
 
telesar

telesar

Активный участник
Регистрация
03.06.2004
Сообщения
13 937
Реакции
1 063
Баллы
113
Nusferatus

Nusferatus

Super Moderator
Регистрация
01.12.2006
Сообщения
40 161
Реакции
179
Баллы
63
Если приложению не удалось выделить память, то нужно просто запусть сборщик мусора, и опять сделать попытку выделения.
Вот допустим треба выделить 5 мб, а он ограничил насильно 2мя, то следующая попытка выделения памяти будет опять же неудачной или как?
 
Denwer

Denwer

Новичок
Регистрация
07.03.2006
Сообщения
21 370
Реакции
115
Баллы
0
Вот допустим треба выделить 5 мб, а он ограничил насильно 2мя, то следующая попытка выделения памяти будет опять же неудачной или как?

Я вообще сомневаюсь что на 2-х что то запустится. Это во первых, а во вторыхэто очень частный случай, когда приложение выделяет разом такой кусок памяти и плюс его еще ограничили. Всегда можно поставить такие условия приложенияю, что она разумеется не запустится.
 
Верх Низ