Чем лучше рендерить процессором или картой. GPU быстрый, дешевый и масштабируемый. Что выбрать новичку

Можно бесконечно рассказывать о рендеринге через GPU. В недалёком прошлом потенциал видеокарты был раскрыт не порядок хуже и использовался только в подготовительных работах, а для полноценного рендеринга их не применяли и даже не предпологали такой возможности. Сегодня же технологии GPU широко используются для производственного рендера и способы реализации не ограничиваются рабочими станцииями Octane. Даже облачный рендеринг теперь возможен на графических процессорах NVidia и Octane. И само собой вы всегда можете полностью передать работу сторонним фирмам через интернет, полностью делегировав задачу рендеринга.

Война брендов и технологий

Однако реальность GPU не идеальна и содержит две различные технологии. Это CUDA целиком и полностью заточенная под Nvidia и OpenCL. Не смотря на то, что OpenCL это проэкт с открытым кодом штат фанатов и профессионалов здесь ниже чем у Nvidia. Рынок рендеринга отображает аналогичную ситуацию указывая на простое разделение рынка без конкретного разделения на сферы влияния.
Фирма разработчик Maxwell технологии интересуется рынком GPU и не первый месяц наблюдает за противостоянием CUDA/OpenCL. Next Limit в случае восстановлении гармонии планирует активно развивать новые платформы GPU. Представитель Next Limit — Хуан Канада (Juan Canada) подчёркивает, что, не смотря на желание кампании развиваться и идти в ногу со временем, это возможно только при минимальных рисках снижения качества и функциональности для Maxwell. Поэтому им важно быть уверенными в стабильности рынка GPU.

Подведем итоги

GPU окончательно вошел в мир рендеринга, хоть и не принял окончательную форму и всё ещё подвергается изменениям и модернизациям. И это приносит свои плоды: работы полученные таким рендерингом всё больше приближаются по качеству к реалистичным изображениям. Если раньше GPU работы были похожи на рисунки или на сцены из компьютерных игр, то сейчас его зачастую не отличить от профессионального рендера для кино. Но работа с CPU сохранила немало сложностей, например это написание кода, который нужно подобрать по множеству параметров под вашу начинку компьютера. Так же существенная недоработка состоит в том, что GPU содержит не все алгоритмы архитектур видеопроцессора.

Контроль времени рендеринга, это то, с чем приходится бороться каждой студии. Как художники, мы хотим быть ограничены лишь нашей фантазией, а не мощностью имеющегося компьютера. Мы в Pixelary хорошо знакомы с характеристиками производительности Cycles. Мы запустили этот блог с целью поделится нашими знаниями. Итак, давайте посмотрим что дает лучшее соотношение производительность/стоимость при создании пикселей.

GPU быстрый, дешевый и масштабируемый

$400 долларовая игровая видеокарта, такая как GTX 1070 или Radeon RX580 быстрее, нежели 22-х ядерный Intel Xeon 2699v4 ($3500) в большинстве задач рендеринга. Если рассматривать лишь цену оборудования, то GPU является безоговорочным победителем. Ценность GPU возрастает еще больше, потому что мы запросто можем установить 4 видеокарты в один системник, тем самым получив 4-х кратное увеличение скорости рендеринга, в то время как многопроцессорные системы стоят ОЧЕНЬ дорого. Но у графических процессоров есть один недостаток …

Ограничения памяти GPU

Чтобы производит рендеринг на GPU Cycles должен поместить все данные сцены в память видеокарты. Если же сцена не помещается, то рендеринг на ней будет просто невозможен. Большинство потребительских графических процессоров сегодня имеют 8 Гбайт памяти. Это означает, что вы сможете разместить только 32 уникальных текстуры в разрешении 8K, прежде чем память будет полностью забита. Это не много текстур. Существуют графические процессоры с большим объемом памяти, но их цена часто бывает астрономической, что делает рендеринг на GPU столь же дорогостоящим, как и на CPU. С другой стороны, в то время как процессорный рендеринг не использует меньше памяти, оперативная память намного дешевле. 32 ГБ ОЗУ можно приобрести по очень разумной цене.

Потребление энергии

Для студий, производящих большое количество рендеров, энергопотребление является еще одним аспектом, который следует учитывать. Удивительно, но несмотря на большую разницу в цене между CPU и GPU, производительность на ватт поразительно схожа для устройств с большим количеством ядер. GTX 1070 и Xeon 2699v4 имеют пиковое энергопотребление около 150 Вт и работают, примерно, одинаково. Поэтому независимо от того, какое устройство вы используете, аппаратные средства одного поколения должны использовать, примерно, одинаковое количество энергии. Тем не менее, процессоры с низким количество ядер и большой частотой, такие как Intel 7700k, как правило, потребляют больше энергии, чем многоядерные процессоры с низкой тактовой частотой.

Набор функций

Хорошо, хватит об аппаратном обеспечении. Нам также нужно сравнить различия в возможностях между CPU и GPU рендерингом. Что касается Blender 2.78c, рендеринг на GPU и рендеринг на CPU находится, практически, на одном уровне. Есть лишь небольшой набор функций, которые не поддерживаются графическим процессором, а самой большой недостающей особенностью является Open Shading Language. Но, если вы не планируете писать собственные шейдеры, GPU так же хорош, как и процессор.

Операционные системы

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

Доброго времени суток, дорогие читатели.

Оговорюсь сразу: данная статья не является подробным обзором, а лишь призвана в общих чертах познакомить новичков с RT рендерингом силами видеокарты.

biased и unbiased рендеры

По принципу действия все рендеры можно разделить на 2 большие группы.

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

Biased рендер сначала создаст для себя карту освещенности всего пространства, затем «наложит» ее на геометрию, что бы понять, какие участки просчитывать точно, а какие нет. Допустим он «видит», что область в углу комнаты практически не освещена. Он сверяется с выставленными настройками и уменьшает качество обработки этой области до указанного пользователем минимума — зачем проводить сложные рассчеты, если объекты находятся в сильном затенении и на них в любом случае не будут четко видны блики, отражения и т.д?

Unbiased — это так называемые «физически корректные движки». Они берут всю сцену целиком и начинают ее просчитывать с по сути «бесконечными настройками». На практике это происходит так: сначала вся картинка имеет ужасное качество и ужасный шум. По мере рендеринга шум начинает пропадать и качество всей картинки начинает улучшаться.

К какому виду относится популярный движок V-Ray?

V-Ray может работать в обоих режимах. Переключение осуществляется так: F10-Common-Assign Render (в самом низу)

  • VRay Adv — Biased
  • VRay RT — Unbiased

Как все это относится к видеокартам?

Рендеринг на видеокарте (GPU-рендеринг) возможен только в Unbiased «режиме». Отсюда мы имеем первый спорный момент.

С одной стороны в современных видеокартах намного больше ядер, чем в современных процессорах. Об этом часто любят упоминать маркетологи=)

Для примера 660 Ti, согласно спецификации имеет 1344 ядра. А процессор 4 физических и 8 виртуальных.

С другой стороны — эти ядра похожи на солдат из стройбата, готовых работать лопатами «отсюда и до завтра». Они не умеют думать и оптимизировать свою работу, поэтому и объем этой работы несоизмеримо возрастает. Об этом маркетологи умалчивают.

Какой рендер лучше?

Unbiased, т.е. GPU-рендеринг, позволяет получить физически более корректную картинку, но занимает намного больше времени даже на мощных видеокартах.

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

Рендеринг на процессоре (CPU) позволяет получать качественную картинку значительно быстрее при вполне приемлемом уровне фотореалистичности. Однако стоит учесть, что качество картинки при просчете не процессоре сильно зависит от умения настроить рендер движок.

Что выбрать новичку?

Для новичка нет необходимости обращать внимание на GPU.

  • это самый длительный рендер. Он никак не подходит для процесса обучения, который подразумевает создание большого количества черновых картинок;
  • практическое применение GPU оправданно далеко не во всех задачах и подразумевает использование только дорогих видеокарт. Если вы новичек, то такие задачи появятся у вас не скоро.

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

Однако не все так просто! Давайте оставим за рамками вопросы подходит ли GPU рендер под требования производства отдельных видов графики, отсутствие полноценного продакшен GPU рендера и все такое. Представим, что у вас небольшая банда из 3 визуализаторов, вы делаете преимущественно рекламные ролики и вот вы перешли на GPU рендеринг. Давайте посмотрим на 7 проблем, которые вас подстерегают:

  1. Высокая стоимость видеокарт, дорогостоящее скалирование мощностей

Большинство специализированных GPU решений предполагают, что добавление видеокарт дешевле покупки полного компьютера, но только при покупке специальных серверных шкафов и систем для работы большого количества видеокарт. Сами такие решения недешевы и требуют определенных навыков. Но представим, что мы пошли по пути покупки стандартных компьютеров и установки в них 2-3-4 видеокарт. Сравните стоимость в дальнейшем апгрейда процессора и апгрейда этих 2-3-4 GPU.

2. Маленькое влияние крутых видеокарт на всю систему

В отличие от апгрейда CPU, который окажет влияние на работу всех приложений, видеокарты окажут влияние только на сокращение времени рендера. Их присутствие никак не повлияет на работу ОС и любых 3d приложений для работы с графикой. За исключением, разве что, игр. Но вы же не играете на своем рабочем компьютере, правда?)

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

3. Постоянный шум и тепловыделение

Охлаждение практически любой видеокарты гораздо шумнее работы охлаждения CPU. Еще важнее, что постоянная работа 2-3 видеокарт быстро создает в помещении невыносимую температуру.

4. Вопросы масштабирования

Если у вас несколько GPU машин, рано или поздно встает вопрос покупки дополнительных лицензий и возможны проблемы совместимости видеокарт различных производителей и разных моделей. По мере обновления парка столкновение поколений видеокарт неизбежно. А вы же помните что, если в одной системе стоит, например, видеокарта с 8гб памяти и 12гб, то память будет ограничена меньшим значением.

Обычное обновление драйвера может обрушить все. Видеокарты в любой системе – основной источник зависаний и сбоев. Любая проблема с обновлением драйверов, их совместимостью, багами и прочими прелестями однозначно ведет к тому, что и в рендере будут проблемы! Нужно ли говорить, что при рендере на CPU этих проблем нет.

6. Ограниченная память

В настоящее время в GTX 1080Ti всего 12 Гб памяти, которые не увеличить вставив планку памяти как в обычных компьютерах. И она не суммируется при установке нескольких карт. Если, например, установить таких 3 карты, то под сцены будет доступно так же 12 Гб. При превышении доступного объема памяти на рендере, все просто крашится. Вариантов как на CPU с использованием файла подкачки, который хоть и замедляет рендер, но все же делает его возможным – нет.

7. Ограниченный круг ПО

Рендер на GPU поддерживает ограниченное количество графических приложений и рендеров, что накладывает свои ограничения.

В завершении, отмечу. что несмотря на недостатки GPU рендеринг имеет и безусловные достоинства, которые значительно перевешивают и существующие недостатки.




Top