Контроль времени рендеринга, это то, с чем приходится бороться каждой студии. Как художники, мы хотим быть ограничены лишь нашей фантазией, а не мощностью имеющегося компьютера. Мы в 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% ускорения рендеринга. Вот было бы здорово, если бы это было правдой, да? Мы хотели бы добраться до сути этого вопроса. Поэтому мы рассмотрим это утверждение позже и опубликуем наши выводы.
Как для небольшой независимой студии, рендеринг на GPU имеет смысл, потому что он позволяет нашим художникам работать быстро, и при этом нет необходимости грабить банк.
А как насчет вас? Как вы думаете, что является лучшей платформой для рендеринга?
P.S. На нашем форуме есть специальная тема, в которой люди делятся результатами рендеринга на своем железе c 2013 года. Общая картина остается прежней, но заинтересованные всегда смогут найти что-то полезное для себя.
То есть, если Ты учишься рендрить и моделировать то лучше купить комп с хорошим процессором, чем GTX 1070?
С чего вдруг?Я думаю как раз в точности наоборот.Человек покупает мощною игровую видекарту
и рендерит быстрее чем с процом за 200 тр.
Неплохо для продолжения…
Да gpu не панацея. Уже дважды сталкивалась с не хваткой видео памяти. 1. Когда делала урок про земплю. 2. Дракона покрытого шерстью. Приходилось рендерить на cpu.
p.s С нетерпением буду ждать отдельную статью про разные ос. Вангую что в результате будет вывод, на всех системах одинаково).
Печаль лишь в том, что при нынешнем курсе покупать GTX1070(80) или пару, только для рендра? Для небольшого анимационного фильма этого всё равно мало. А для двух-трёх сцен — не оправдано.
В то время, мощный cpu (а то и пара) будет востребован во всех приложения:) При том же моделировании, а не рендре, куда весомей иметь мощный CPU, тем более если речь ещё заходит о эмуляции физики.
GPU тоже хорошо, если средства позволяют, можно и нужно.
Взял печь 1060 6 gb, осенью скорее всего докуплю какой-то ryzen. Не вижу смысла брать серверный проц под рендер, вряд ли это окупится.
А печь 1060 какуим образом окупиться?))
Никто игровую видюху окупать не собирается,берётся для игр,для себя.Ну раз ещё рендер быстрее,почему бы не применить
Мне вот какой вопрос интересен — на что способна в рендере AMD Radeon R9 Fury/Fury X, учитывая ее характеристики?
https://blenderartists.org/forum/showthread.php?239480-2-7x-Cycles-benchmark-(Updated-BMW)/page112
Я так понимаю 390 это тоже из серии Fury.
http://blenchmark.com/gpu-benchmarks
Нет, Fury это отдельная серия, хотя и имеется у нее в маркировке R9
Ну тогда тесты будут позже:)
Хотя ничего сверх естественного наверно не будет.
«Ценность GPU возрастает еще больше, потому что мы запросто можем установить 4 видеокарты в один системник, тем самым получив 4-х кратное увеличение скорости рендеринга»
Печально, но это высказывание далеко от правды.
На сколько вырастет производительность, зависит от материнской платы и как хорошо оптимизирован софт для SLI или CrossFire. В лучшем случае 2 видюхи дадут 150% производительности, а не 200. Добавляем ещё одну карту — производительности прибавится ещё меньше, т.е. не 200% будет, а 180%.
Четыре видюхи не дадут четырёхкратный прирост.
Ждем, когда будет возможно рендерить одновременно и на CPU и на GPU
Вы сейчас приравняли Blender к консольным портам последних 10 лет. Это в [q][i]недоиграх[/i][/q] нет 2-х, 3-х… кратного увеличения, а в нормальных бывает даже больше 200% при использовании двух карт. Я сам долго думал как так, но это правда.
Я сам лично не проверял, но доверие к этой студии у меня есть. К тому же задачу рендеринга изображения куда проще раскидать на несколько потоков, чем видеоигру.
Выше есть ссылочка на сайт с кучей тестов. Две GTX 1070 дают результат вдвое быстрее одной. Есть случаи и не такие наглядные, но это из-за [i]кривости[/i] драйверов и поддержки самого Blender. Сами технологии SLI и CrossFire должны была давать кратные приросты. И именно по этому их стали развивать. Вот только на деле это далеко не всегда так, как хочется.
А при чем здесь sli и тем более CrossFire? На сколько мне известно, эти технологии при рендере на мультикартовых системах не используются. Sli, объеденяет карты в многопроцессорную «виртуальную карту». Суслику же этого даром не надо — он прекрасно видит отдельные карты в системе и использует в рендере по отдельности. Более того, раньше много писали, что при попытке включения sli рендер у многих вис. А время рендера увеличивалось в разы.
PS: Мне на работе начальство обещало в ближайшую пару месяцев установить новую рендерферму на 4 ех 1080 ых, так что будет возможность проверить все эти утверждения на практике.
Надеюсь, не забудете в ВК написать пару слов. Тоже очень интересно узнать результаты. Если можно проведите рендер сначала с каждой видеокартой отдельно, чтоб 100% знать что с ними всеми все в порядке.
С играми то сравнивать не надо.
Купил перед новым годом RX 470 8Gb (подвернулось выгодное предложение и продал старичка GTX 650 Ti), правда, не только для рендера. 8 Гб памяти, почти 5 ТФлопс. И OpenCL. Blender не очень хорошо работает с OpenCL. Не работает ряд вещей, вроде подповерхностного рассеивания, volume shaders, HDR (?). При первом рендере довольно долго, иногда очень долго тупит на «loading render kernels». В процессе рендера не показывает результат в реальном времени, поэтому нельзя поставить овер9000 сэмплом и просто подождать, пока картинка не будет тебя устраивать.
Пробовал LuxRender. Он, вроде как, лучше работает с OpenCL (в CUDA не умеет). Быстрее начинает рендер, показывает прогресс времени. Но так же не все фичи CPU-рендера поддерживаются (на CPU он рендерит просто восхитительную каустику), а в режиме Rendered в Blender довольно дико тормозит перемещение камеры.
ИТОГ: Лучше воздержаться от покупки карт AMD. Наверное.
Пару лет назад мне попадались на «вражеском» форуме откровения разрабов, там звучало, что OpenCL в Блене развивался и будет развиваться «не шатко не валко» по ряду причин. Первая — это то, что в CUDA многие основные функции реализованы на уровне готовых библиотек, а в OCL это все нужно писать с «нуля» — соответсвенно трудозатрат в разы больше. Второе — профи уже давно сориентировались в сторону карт от NVIDIA , и им OCL нафиг не нужен (он в nvidia хуже реализован). Посему смысла в развитии OCL рендера не много. Команда не велика. И существует он по принципу «пусть будет до весу».
Можно узнать — как? У меня Subsurface Scattering выдает черный материал. А HDR работает, да.
я на rx 460 рендерил подповерхносное расеевание и hdr тоже
http://images.anandtech.com/graphs/graph11170/85875.png
Скажите а при рендеринге на нескольких видеокартах, каждый кадр рендерится одновременно на этих нескольких видеокартах (часть кадра — на одной. часть — на другой) или каждая видеокарта рендерит только свой кадр (при анимации например). Если рендерится сразу на всех, тогда память видеокарт складывается? То есть сцена, которой нужно 8 ГБ пройдет на двух видеокартах с 4 ГБ каждая (грубо говоря)?
[i]»каждый кадр рендерится одновременно на этих нескольких видеокартах»[/i]
Да.
[i]»Если рендерится сразу на всех, тогда память видеокарт складывается? То есть сцена, которой нужно 8 ГБ пройдет на двух видеокартах с 4 ГБ»[/i]
Нет. В каждую карту загружается одна и та же сцена.
Добрый день! Видеокарты должны быть соединены SLI или нет?
Не обязательно. Можно, вообще, две разные.
Ни в коем случае!
Подскажите, есть примерно 40-50 тысяч рублей, за которые нужно собрать что-то вменяемое для Blender.
Есть два варианта:
1. Ryzen 1600 (или 1700) + 16gb RAM + слабая мультимедийная видеокарта.
2. Athlon X4 950 + 8gb RAM + RX580 (или GTX1060).
Какой из них более предпочтителен?
В статье черным по белому написано, что видеокарта в 3 раз лучше процессора, а ты серьезно спрашиваешь что предпочтительнее? «слабая мультимедийная видеокарта» или «RX580 (или GTX1060)»?
Come on… С картой ты и отрендеришь и в игры поиграешь, а с вот что делать с Ryzen 1700 без карточки — я не знаю.
Просто боюсь столкнутся с недостатком видеопамяти, а процессор при таком бюджете довольно не очень.
Тогда что брать, RX580 8гб или 1060 6гб? Цена одинаковая.
А ты столкнешься в любом случае. Хоть GTX Titan Xp себе купишь.
P.S. Что брать решай сам. Вообще такие решения нужно самому принимать, а то от фанатов можно всякой чуши наслушаться.
Фанаты оценивают только игровую составляющую, а тут всё немного по другому. С одной стороны 8гб и выше производительность, с другой лучше поддерживаемая CUDA. Думаю всё же RX будет предпочтительнее.
Добрый день Артем. Подскажите пожалуйста, какой процессор лучше для blender для моделирования и создания высокополигональных сцен. Рендеринг будет осуществляться на видеокарте. При большом количестве полигонов в сцене, например 10 миллионов и выше, blender в режиме содания сцены начинает жутко тормозить. Невозможно переместить какой-либо объект. Так вот, что для него более важно — большее количество ядер/потоков, но меньшая тактовая частота на ядро, либо же меньшее количество ядер, но большая тактовая частота на ядро. Тоесть выбор между core-i7 6 ядер, каждое по 4.5 ГГц или core-i9 18 ядер, каждое по 2.9 Ггц. Так же интересно, есть ли опыт использования AMD Threadripper c blender в режиме создания сцены. Как он себя проявил.
Я не могу ответить на данные вопросы. Проверьте загрузку ядер при работе с 10 млн полигонов. Если загружены все ядра, то 18 будет предпочтительнее 6. Если нет, то :)
P.S. Что-то мне подсказывает, что будет тормозить и на 6 и на 18. Может с выходом 2.8 «[i]новый[/i]» OpenGL что-то исправит, но до этого нужно еще дожить.
Спасибо. У меня загружены все ядра, но у меня старый i5-3750. Так что протестировать что-либо у себя не смогу.
Ну 4 ядра это уже что-то. Я вот не помню, но в каких-то патчноутах переводил, что Blender поддерживает до 64 потоков…
В общем я бы брал 18. Там и кэша больше. Трансформации вершин параллелить не супер сложно. Должен он тянуть 18 потоков.
Ясно, спасибо.
«Некоторые люди говорят, что определенные операционные системы дают до 20% ускорения рендеринга. Вот было бы здорово, если бы это было правдой, да?»
Таки — да, Linux даёт прирост производительности в Cycles (сокращение времени на визуализацию) в сравнении с Windows. Об этом сравнительно давно известно. Люди, близкие к кругу разработчиков, объясняли более быстрый рендеринг в Blender под Linux тем, что в этой ОС «Миксер» находится в нативной («родной») среде, а в Windows движок реализован посредством библиотек (дополнительных «костылей», замедляющих работу). Рендерю на 2 машинах с разным железом под Opensuse — есть прирост производительности при просчёте, не всегда это показатель в 20%, но заметно.
Почитайте последний пост на этом сайте (декабрь 2017). Там даже написано из-за чего конкретно идет замедление на форточках.
Подскажите, есть примерно 40-50 тысяч рублей, за которые нужно собрать что-то вменяемое для Blender.
Есть два варианта:
1. Ryzen 1600 (или 1700) + 16gb RAM + слабая мультимедийная видеокарта.
2. Athlon X4 950 + 8gb RAM + RX580 (или GTX1060).
Какой из них более предпочтителен?
В статье черным по белому написано, что видеокарта в 3 раз лучше процессора, а ты серьезно спрашиваешь что предпочтительнее? «слабая мультимедийная видеокарта» или «RX580 (или GTX1060)»?
Come on… С картой ты и отрендеришь и в игры поиграешь, а с вот что делать с Ryzen 1700 без карточки — я не знаю.
Просто боюсь столкнутся с недостатком видеопамяти, а процессор при таком бюджете довольно не очень.
Тогда что брать, RX580 8гб или 1060 6гб? Цена одинаковая.
А ты столкнешься в любом случае. Хоть GTX Titan Xp себе купишь.
P.S. Что брать решай сам. Вообще такие решения нужно самому принимать, а то от фанатов можно всякой чуши наслушаться.
Фанаты оценивают только игровую составляющую, а тут всё немного по другому. С одной стороны 8гб и выше производительность, с другой лучше поддерживаемая CUDA. Думаю всё же RX будет предпочтительнее.
http://images.anandtech.com/graphs/graph11170/85875.png
Скажите а при рендеринге на нескольких видеокартах, каждый кадр рендерится одновременно на этих нескольких видеокартах (часть кадра — на одной. часть — на другой) или каждая видеокарта рендерит только свой кадр (при анимации например). Если рендерится сразу на всех, тогда память видеокарт складывается? То есть сцена, которой нужно 8 ГБ пройдет на двух видеокартах с 4 ГБ каждая (грубо говоря)?
[i]»каждый кадр рендерится одновременно на этих нескольких видеокартах»[/i]
Да.
[i]»Если рендерится сразу на всех, тогда память видеокарт складывается? То есть сцена, которой нужно 8 ГБ пройдет на двух видеокартах с 4 ГБ»[/i]
Нет. В каждую карту загружается одна и та же сцена.
Добрый день Артем. Подскажите пожалуйста, какой процессор лучше для blender для моделирования и создания высокополигональных сцен. Рендеринг будет осуществляться на видеокарте. При большом количестве полигонов в сцене, например 10 миллионов и выше, blender в режиме содания сцены начинает жутко тормозить. Невозможно переместить какой-либо объект. Так вот, что для него более важно — большее количество ядер/потоков, но меньшая тактовая частота на ядро, либо же меньшее количество ядер, но большая тактовая частота на ядро. Тоесть выбор между core-i7 6 ядер, каждое по 4.5 ГГц или core-i9 18 ядер, каждое по 2.9 Ггц. Так же интересно, есть ли опыт использования AMD Threadripper c blender в режиме создания сцены. Как он себя проявил.
Я не могу ответить на данные вопросы. Проверьте загрузку ядер при работе с 10 млн полигонов. Если загружены все ядра, то 18 будет предпочтительнее 6. Если нет, то :)
P.S. Что-то мне подсказывает, что будет тормозить и на 6 и на 18. Может с выходом 2.8 «[i]новый[/i]» OpenGL что-то исправит, но до этого нужно еще дожить.
Спасибо. У меня загружены все ядра, но у меня старый i5-3750. Так что протестировать что-либо у себя не смогу.
Ну 4 ядра это уже что-то. Я вот не помню, но в каких-то патчноутах переводил, что Blender поддерживает до 64 потоков…
В общем я бы брал 18. Там и кэша больше. Трансформации вершин параллелить не супер сложно. Должен он тянуть 18 потоков.
Ясно, спасибо.
Мне вот какой вопрос интересен — на что способна в рендере AMD Radeon R9 Fury/Fury X, учитывая ее характеристики?
https://blenderartists.org/forum/showthread.php?239480-2-7x-Cycles-benchmark-(Updated-BMW)/page112
Я так понимаю 390 это тоже из серии Fury.
http://blenchmark.com/gpu-benchmarks
Нет, Fury это отдельная серия, хотя и имеется у нее в маркировке R9
Ну тогда тесты будут позже:)
Хотя ничего сверх естественного наверно не будет.
То есть, если Ты учишься рендрить и моделировать то лучше купить комп с хорошим процессором, чем GTX 1070?
С чего вдруг?Я думаю как раз в точности наоборот.Человек покупает мощною игровую видекарту
и рендерит быстрее чем с процом за 200 тр.
Взял печь 1060 6 gb, осенью скорее всего докуплю какой-то ryzen. Не вижу смысла брать серверный проц под рендер, вряд ли это окупится.
А печь 1060 какуим образом окупиться?))
Никто игровую видюху окупать не собирается,берётся для игр,для себя.Ну раз ещё рендер быстрее,почему бы не применить
Да gpu не панацея. Уже дважды сталкивалась с не хваткой видео памяти. 1. Когда делала урок про земплю. 2. Дракона покрытого шерстью. Приходилось рендерить на cpu.
p.s С нетерпением буду ждать отдельную статью про разные ос. Вангую что в результате будет вывод, на всех системах одинаково).
Добрый день! Видеокарты должны быть соединены SLI или нет?
Ни в коем случае!
Не обязательно. Можно, вообще, две разные.
«Ценность GPU возрастает еще больше, потому что мы запросто можем установить 4 видеокарты в один системник, тем самым получив 4-х кратное увеличение скорости рендеринга»
Печально, но это высказывание далеко от правды.
На сколько вырастет производительность, зависит от материнской платы и как хорошо оптимизирован софт для SLI или CrossFire. В лучшем случае 2 видюхи дадут 150% производительности, а не 200. Добавляем ещё одну карту — производительности прибавится ещё меньше, т.е. не 200% будет, а 180%.
Четыре видюхи не дадут четырёхкратный прирост.
Ждем, когда будет возможно рендерить одновременно и на CPU и на GPU
Вы сейчас приравняли Blender к консольным портам последних 10 лет. Это в [q][i]недоиграх[/i][/q] нет 2-х, 3-х… кратного увеличения, а в нормальных бывает даже больше 200% при использовании двух карт. Я сам долго думал как так, но это правда.
Я сам лично не проверял, но доверие к этой студии у меня есть. К тому же задачу рендеринга изображения куда проще раскидать на несколько потоков, чем видеоигру.
Выше есть ссылочка на сайт с кучей тестов. Две GTX 1070 дают результат вдвое быстрее одной. Есть случаи и не такие наглядные, но это из-за [i]кривости[/i] драйверов и поддержки самого Blender. Сами технологии SLI и CrossFire должны была давать кратные приросты. И именно по этому их стали развивать. Вот только на деле это далеко не всегда так, как хочется.
С играми то сравнивать не надо.
А при чем здесь sli и тем более CrossFire? На сколько мне известно, эти технологии при рендере на мультикартовых системах не используются. Sli, объеденяет карты в многопроцессорную «виртуальную карту». Суслику же этого даром не надо — он прекрасно видит отдельные карты в системе и использует в рендере по отдельности. Более того, раньше много писали, что при попытке включения sli рендер у многих вис. А время рендера увеличивалось в разы.
PS: Мне на работе начальство обещало в ближайшую пару месяцев установить новую рендерферму на 4 ех 1080 ых, так что будет возможность проверить все эти утверждения на практике.
Надеюсь, не забудете в ВК написать пару слов. Тоже очень интересно узнать результаты. Если можно проведите рендер сначала с каждой видеокартой отдельно, чтоб 100% знать что с ними всеми все в порядке.
Неплохо для продолжения…
Печаль лишь в том, что при нынешнем курсе покупать GTX1070(80) или пару, только для рендра? Для небольшого анимационного фильма этого всё равно мало. А для двух-трёх сцен — не оправдано.
В то время, мощный cpu (а то и пара) будет востребован во всех приложения:) При том же моделировании, а не рендре, куда весомей иметь мощный CPU, тем более если речь ещё заходит о эмуляции физики.
GPU тоже хорошо, если средства позволяют, можно и нужно.
Купил перед новым годом RX 470 8Gb (подвернулось выгодное предложение и продал старичка GTX 650 Ti), правда, не только для рендера. 8 Гб памяти, почти 5 ТФлопс. И OpenCL. Blender не очень хорошо работает с OpenCL. Не работает ряд вещей, вроде подповерхностного рассеивания, volume shaders, HDR (?). При первом рендере довольно долго, иногда очень долго тупит на «loading render kernels». В процессе рендера не показывает результат в реальном времени, поэтому нельзя поставить овер9000 сэмплом и просто подождать, пока картинка не будет тебя устраивать.
Пробовал LuxRender. Он, вроде как, лучше работает с OpenCL (в CUDA не умеет). Быстрее начинает рендер, показывает прогресс времени. Но так же не все фичи CPU-рендера поддерживаются (на CPU он рендерит просто восхитительную каустику), а в режиме Rendered в Blender довольно дико тормозит перемещение камеры.
ИТОГ: Лучше воздержаться от покупки карт AMD. Наверное.
я на rx 460 рендерил подповерхносное расеевание и hdr тоже
Пару лет назад мне попадались на «вражеском» форуме откровения разрабов, там звучало, что OpenCL в Блене развивался и будет развиваться «не шатко не валко» по ряду причин. Первая — это то, что в CUDA многие основные функции реализованы на уровне готовых библиотек, а в OCL это все нужно писать с «нуля» — соответсвенно трудозатрат в разы больше. Второе — профи уже давно сориентировались в сторону карт от NVIDIA , и им OCL нафиг не нужен (он в nvidia хуже реализован). Посему смысла в развитии OCL рендера не много. Команда не велика. И существует он по принципу «пусть будет до весу».
Можно узнать — как? У меня Subsurface Scattering выдает черный материал. А HDR работает, да.
«Некоторые люди говорят, что определенные операционные системы дают до 20% ускорения рендеринга. Вот было бы здорово, если бы это было правдой, да?»
Таки — да, Linux даёт прирост производительности в Cycles (сокращение времени на визуализацию) в сравнении с Windows. Об этом сравнительно давно известно. Люди, близкие к кругу разработчиков, объясняли более быстрый рендеринг в Blender под Linux тем, что в этой ОС «Миксер» находится в нативной («родной») среде, а в Windows движок реализован посредством библиотек (дополнительных «костылей», замедляющих работу). Рендерю на 2 машинах с разным железом под Opensuse — есть прирост производительности при просчёте, не всегда это показатель в 20%, но заметно.
Почитайте последний пост на этом сайте (декабрь 2017). Там даже написано из-за чего конкретно идет замедление на форточках.