- Рейтинг
- 91
Vray Distributed Render (сетевой рендер)
Вот что можно сказать по этой теме:
1) Введение...
Проблемы сетевого рендера у всех в большинстве своём сходны.
Немного информации о сетевых возможностях масдайных платформ пригодных для нашего случая, исключая серверные системы.
1. Win98 - однозначно отпадает
2. Win2000 Pro - имеет полноценный механизм по распределению сетевых ресурсов.
3. WinXP Home Edition - по умолчанию есть доступ к сети но нет возможности полноценно предоставлять его.
4. WinXP Pro - а вот тут самое интересное. На первый взгляд вроде как всё нормально. Но... Вся проблема в том что для сетевого рендера одним из важных параметров является количество потоков, которое может открыть система для одной задачи. Так вот, дабы "обезопасить" нас, добрый Microsoft, решил что достаточно 10 потоков.
Что при этом происходит. программа пытается открыть большее количество потоков, но работают только первые десять, остальные стоят в очереди. Вторая неприятность в том, что не все потоки сгенерированные программой доживают до своей очереди и по тайм-ауту "умирают". Программа снова создаёт новый поток (если это предусмотрено разработчиком ), и он становится в очередь, и так до окончания процесса. Но завершится то процесс однозначно, а вот результат не всегда приемлем. Этой проблемы лишены все серверные системы, но пока Vray не станет полноценным стэндэлон, толку от этого мало.
2) Настройка...
Сначала устанавливаем Vray последней версии 1.4X.XX
(в версии 1.9X.XX Vray урезан, т.е. галочка Distributed rendering отсутствует или не активна)
Запускаем на самом стабильном и мощном компьютере сцену...
Затем во вкладке Vray System включаем Distributed Rendering
Во вкладке Settings (ниже) добавляем сервера (Add server) с сетевым именем каждого компьютера участвующего в рендере. Далее выделяем все сервера и жмём Resolve servers - получаем IP адреса...
Теперь мы создали сервер с запущенной сценой
Также мы имеем другие компьютеры (реферы) на которых стоит тот же макс и Vray
При рендере по сети запускать на всех машинах (реферах) 3ds max не нужно сервер сам всё сделает.
Запускаем на реферах VRspauner60 // (он находится в каталоге с 3ds max)
На сервере запускаем рендер (нажатием на кнопку Render) ;-)
3)Возможные проблемы и их решения...
Брандмауер не принимает запросы сервера
- Нужно правильно настроить исключения брандмауэра.
Реферы не видят текстуры
- Открываем сетевой доступ к папке с проектами и даём ей сетевое имя (например: Work)
Прописываем все текстуры сцены через эту папку (например: \\<имя компьютера-сервера>\Work\<имя папки проекта>\<папка с текстурами>\текстура.jpg). Можно делать это вручную, меняя путь в каждой карте. Или воспользоваться функцией - File->Arhive->Resource collector ( карты VRay HRDI придётся изменять самостоятельно). В настройках рендера все пути тоже пускаем через сеть...
Моё отдельное спасибо соавторам: svv3d, Martoos, Yuri Yarunin...
Вот что можно сказать по этой теме:
1) Введение...
Проблемы сетевого рендера у всех в большинстве своём сходны.
Немного информации о сетевых возможностях масдайных платформ пригодных для нашего случая, исключая серверные системы.
1. Win98 - однозначно отпадает
2. Win2000 Pro - имеет полноценный механизм по распределению сетевых ресурсов.
3. WinXP Home Edition - по умолчанию есть доступ к сети но нет возможности полноценно предоставлять его.
4. WinXP Pro - а вот тут самое интересное. На первый взгляд вроде как всё нормально. Но... Вся проблема в том что для сетевого рендера одним из важных параметров является количество потоков, которое может открыть система для одной задачи. Так вот, дабы "обезопасить" нас, добрый Microsoft, решил что достаточно 10 потоков.
Что при этом происходит. программа пытается открыть большее количество потоков, но работают только первые десять, остальные стоят в очереди. Вторая неприятность в том, что не все потоки сгенерированные программой доживают до своей очереди и по тайм-ауту "умирают". Программа снова создаёт новый поток (если это предусмотрено разработчиком ), и он становится в очередь, и так до окончания процесса. Но завершится то процесс однозначно, а вот результат не всегда приемлем. Этой проблемы лишены все серверные системы, но пока Vray не станет полноценным стэндэлон, толку от этого мало.
2) Настройка...
Сначала устанавливаем Vray последней версии 1.4X.XX
(в версии 1.9X.XX Vray урезан, т.е. галочка Distributed rendering отсутствует или не активна)
Запускаем на самом стабильном и мощном компьютере сцену...
Затем во вкладке Vray System включаем Distributed Rendering
Во вкладке Settings (ниже) добавляем сервера (Add server) с сетевым именем каждого компьютера участвующего в рендере. Далее выделяем все сервера и жмём Resolve servers - получаем IP адреса...
Теперь мы создали сервер с запущенной сценой
Также мы имеем другие компьютеры (реферы) на которых стоит тот же макс и Vray
При рендере по сети запускать на всех машинах (реферах) 3ds max не нужно сервер сам всё сделает.
Запускаем на реферах VRspauner60 // (он находится в каталоге с 3ds max)
На сервере запускаем рендер (нажатием на кнопку Render) ;-)
3)Возможные проблемы и их решения...
Брандмауер не принимает запросы сервера
- Нужно правильно настроить исключения брандмауэра.
Реферы не видят текстуры
- Открываем сетевой доступ к папке с проектами и даём ей сетевое имя (например: Work)
Прописываем все текстуры сцены через эту папку (например: \\<имя компьютера-сервера>\Work\<имя папки проекта>\<папка с текстурами>\текстура.jpg). Можно делать это вручную, меняя путь в каждой карте. Или воспользоваться функцией - File->Arhive->Resource collector ( карты VRay HRDI придётся изменять самостоятельно). В настройках рендера все пути тоже пускаем через сеть...
Моё отдельное спасибо соавторам: svv3d, Martoos, Yuri Yarunin...