Render.ru

В command line render не работает network render

DemX86

Активный участник
Рейтинг
18
#1
На главном компьютере стоит Maya 2011, на дополнительном — menta ray satellite соответствующей версии. Компьютеры в сети, сеть работает. Файл maya.rayhosts в нужном месте создан, в нем название/IP-адрес:порт прописаны.
При рендере из Maya при включенной галочке «Render on network machines» все работает: дополнительный компьютер помогает в расчете главному.

Но при рендере из командной строки упорно не хочет подключаться к расчету вторая машина. Судя по хелпу, для этого не нужно ничего дополнительно указывать, должно быть достаточно обычной команды «render -r mr».

Но при рендере в логах пишется, что «slave rendering OFF» и, естественно, никакого сетевого рендера нет, работает только главный компьютер.

Самое интересное, что если указать параметр «-rnm 1», который включает рендер только на дополнительных машинах, то эта самая дополнительная машина подключается и начинает считать.

Вот лог:
Код:
// mental ray for Maya: using rayhosts file C:/Users/heaven7/Desktop/Documents/maya/2011-x64/prefs//maya.rayhosts
Info: (mental ray) : adding rayhosts
Info: (mental ray) : adding host: Fenrir:7411
MSG  0.0  info : adding new host 1 (Fenrir:7411)
MSG  0.0  error  011329: mi-ray/tcp: not a service (check %SystemRoot%\system32\drivers\etc\services)
MSG  0.0  warn   012219: using fallback inet service 7003
JOB  0.0  info : started threads 0,1 on Fenrir:7411 now known as host 1
Info: (mental ray) : network rendering slaves: Fenrir:7411
JOB  0.0  info : slave rendering ON
Примечания:
Fenrir — имя вспомогательного компьютера
Непонятно, на что ругается вот эта фраза «error 011329: mi-ray/tcp: not a service» и еще просит проверить что-то по пути. Тут неясно, относительно какой машины он это говорит, ведь по идее это для slave-машины должно быть актуально, но там по указанному пути все службы указаны и запущены.
Кроме того, как видно из лога, хоть процесс и ругается этой ошибкой, но дальше все равно нормально добавляет второй компьютер в список slaves и нормально работает.

Я сначала подумал, что может быть надо и на master-машину ставить satellite, но, естественно, его установка совершенно ничего не изменила.

В общем, вопрос: как заставить работать network render по-полной из командной строки?
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
#2
Попробуй открыть этот %SystemRoot%\system32\drivers\etc\services и добавить вконец mi-ray 7003/tcp или mi-raysat2011 7411. Одно чисто по логам подходит, другое - из документации.
UPD: немного невнимательно прочел. Раз все службы есть, то может совет ниже поможет, а там посмотрим.
А вообще желательно перед установкой новой старые версии menta ray satellite удалять начисто.
 

DemX86

Активный участник
Рейтинг
18
#3
Dark™, спасибо за оперативный ответ.

Да, все верно — на slave-машине служба установлена, запущена и по указанному адресу в файле services указана. То есть установщик mrSatellite все там сделал сам, как от него и ожидалось.

Насчет старых версий mrSatellite совет дельный, но в данном случае на slave-машине это вообще единственная версия mrS, которая там была установлена. На этом компьютере (вообще говоря, это нетбук — я на нем просто обкатываю организацию сетевого рендера) mrS — это единственное, что установлено из 3D-программ (потому что сама машинка «офисная»), так что здесь ситуация с конфликтами старых и новых версий должна быть чиста.

И да, антивирусы и фаерволы я поотключал для чистоты эксперимента.

Единственное, что сейчас приходит в голову, так это то, что на master-машине стоит Windows7 64bit, а на slave — Windows7 32bit (естественно, и mrS тоже под нее установлен тоже 32битный), но в документации я что-то не встречал требований на одинаковые ОСи машин внутри сети.
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
#4
Как вариант можно попробовать на мастере прописать эти строки и имя хоста заменить на обычный IP. Но это уже танец с бубном будет, есть все-таки подозрение на не стыковки версий.

А вообще рендер через satellite не настолько эффективен, как допустим через распределение задач по областям через командую строку. Если память не изменяет, то масштабирование к одному еще один по силе равный комп добавляет всего ~20% производительности.
 

DemX86

Активный участник
Рейтинг
18
#5
Пробовал писать IP адрес вместо имени, это ничего не изменило, к сожалению.

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

А вообще рендер через satellite не настолько эффективен, как допустим через распределение задач по областям через командую строку.
Тут имеется в виду, что на этих нескольких машинах должна быть установлена Maya, у них должны быть одинаковые копии всех файлов проекта (или этот проект должен находиться где-нибудь на сервере, с которого машины будут забирать файлы) и просто одновременно рендерить области изображения? А как потом склеивать картинку в целое, если на двух разных машинах будут разные части изображения? Или имелся в виду покадровый сетевой рендеринг как в Backburner?

Интересно, как сетевой рендеринг организован в серьезных студиях — те же satellite, только сеть значительно быстрее?
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
#6
С локальной копией, конечно, все шустрее будет, но и при достаточном канале сети можно файлы на одном доступном серве хранить.

просто одновременно рендерить области изображения?
Да, через флаг -reg.

А как потом склеивать картинку в целое, если на двух разных машинах будут разные части изображения?
Лучше сохранять в одно место сети: так удобнее, если частей будет много. Склеивать можно через Batch сохраненного Action'а Photoshop'а или через простую программку на Си++.

Или имелся в виду покадровый сетевой рендеринг как в Backburner?
Backburner не умеет разбивать 1 кадр на подобласти, если конечно не через скрипты вручную указывать. Что, в принципе, тоже самое, если делать через bat-файлы. Сторонние программы удобнее будут, например, Smedge позволяет использовать свои параметры, чтобы не пришлось каждую область кадра вручную вбивать.

Интересно, как сетевой рендеринг организован в серьезных студиях — те же satellite, только сеть значительно быстрее?
Зависит от рендера. Alfred для RenderMan'а, Muster для чего-угодно, у кого свои разработки (Duma, Deputat) и т.п. Идея у всех в общем то одна. Различаются лишь способы декомпозиции всей задачи.
 

Ken_Zin

Мастер
Рейтинг
108
#8
Я тут с идиотским вопросом.

Подскажите пожалуйста.

Начал разбираться с визуализацией через command line по уроку:http://www.3dtotal.com/team/Tutorials_3/command_line_rendering/command02.asp

Проблема в следующем: когда пишу: Render -h , windows выдаёт следующее: 'Render' is not recognized as an internal or external command, operable program or batch file

В чём проблема?
 

DemX86

Активный участник
Рейтинг
18
#9
Pacmaniac, нужно прописать в windows в environment variable в path путь к папке с bin Maya.
Подробности в Help.
 

Ken_Zin

Мастер
Рейтинг
108
#10
Всё отлично, получилось отрендерить из command line, но теперь не получается отрендерить , используя .bat файл.

Открываю notepad, пишу : Render -rt 1 -r mr -rd C:\Documents_and_Settings\ALAKHTIN\My_Documents\maya\projects\MM4\images\boat steam_boat_01.mb

Сохраняю файл в директорию scenes данного проекта.

Двойной щелчок, запуск. Далее следующая картина, которую я прилагаю . Вроде как работа пошла, но в итоге вот так вот потупит-постоит и всё, command prompt закрывается сам и "гудбай".

Где может быть ошибка, подскажите пожалуйста ещё разок, очень нужно понять.
 

Вложения

DemX86

Активный участник
Рейтинг
18
#11
А как .bat файл назвали? Здесь говорили когда-то, что нельзя называть его «render», так как это зарезервированное слово.

Там ошибка какая-то светится в логе: «Cannot convert data of type int to type string[]».
Сцена сама по себе в Maya рендерится? Или в простом batch render?
 

Ken_Zin

Мастер
Рейтинг
108
#12
Название файла не "render" . Сцена конечно же рендериться и через maya и , как я упомянул, через command prompt.
 

DemX86

Активный участник
Рейтинг
18
#13
Попробуйте отрендерить простую сцену с летающими кубиками. Интересно, будет ли возникать та же ошибка.
 

Ken_Zin

Мастер
Рейтинг
108
#14
Так, ага, сообразил где проблема. Проблема судя по всему в этом: -rd C:\Documents_and_Settings\ALAKHTIN\My_Documents\maya\projects\MM4\images\boat Когда указываю директорию для картинки рендерить не хочет, без указания - рендерит на ура.
Протестировал уже и на простой сцене с "летающим кубиком" и на более серьёзной сцене.

Друзья, правильно ли я указываю путь?
 

Ken_Zin

Мастер
Рейтинг
108
#15
Ну просто чудеса да и только!
Создал новенький project на диске D . Так выглядит мой .bat файл:


render -rt 1 -r mr -s 1 -e 1 -im testName -rd D:\test_project\images\frBalls test01.mb



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


Где собака зарыта?
 

DemX86

Активный участник
Рейтинг
18
#16
C:\Documents_and_Settings\ALAKHTIN\My_Documents\maya\projects\MM4\images\boat
Не помню точно XP, но действительно ли в My_Documents есть знак подчеркивания? Вроде просто через пробел пишется, а если есть пробел в пути, попробуйте брать путь в кавычки.
 

Ken_Zin

Мастер
Рейтинг
108
#17
Пишется через пробел. Вот почему я повыставлял подчёрки: http://www.jawa9000.com/Technical/batch/batch-rendering.htm

Цитирую:


" Tip for Naming directories and scene files:

* Wrong: D:\Maya folder
* Wrong: render Maya file.mb
* Right: D:\Maya_folder or D:\Maya-folder
* Right: render Maya_file.mb or render Maya-file.mb "
 

DemX86

Активный участник
Рейтинг
18
#18
Совет для выбора имен папок и файлов сцен.
То есть тут говорится, что так надо называть файлы и папки. Или вы переименовали у себя в ОС папку «My Documents» в «My_Documents»?
 

Ken_Zin

Мастер
Рейтинг
108
#20
Урра! У меня получилось. Я взял путь в ковычки. Огромное тебе спасибо DemX86 !
 
Сверху