Что такое gpu рендеринг

3D рендеринг: как работает GPU

Всем привет. Меня зовут Глеб Булгаков, я — программист. Вместе с тех. артистом Романом Лещенко мы работаем в компании Fractured Byte и хотим поделиться нашими знаниями и опытом в деле оптимизации реалтаймового контент пайплайна.

Работая вместе в компании BWF, мы успели приложить руку ко множеству разных по жанру, целевой платформе и сложности проектов. Среди них было и портирование всемирно известных проектов на мобильные платформы (Life Is Strange, Brothers: A Tale of Two Sons), разработка собственных проектов на разные платформы (In Fear I Trust, Renoir), и даже прототипирование и R’n’D для VR игр. У нас 9 лет опыта работы с движком Unreal Engine, начинали с UE3. Мы успели поработать с такими компаниями как Square Enix, Disney, 505 Games, Framestore, Chillingo и т.д. Таким образом, мы почти никогда не сталкивались с одними и теми же задачами и нам всегда приходилось изыскивать возможности отрисовать много контента на экране за минимальное количество миллисекунд. Так что, можно сказать, что мы съели на этом пару собак 🙂

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

Обзор

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

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

Как вы могли заметить, основная “магия” происходит в четвертом пункте. Что это за сложные вычисления, как они влияют на производительность и как научится их контролировать? Этим мы сегодня и займемся, а начнём с того, какие объекты можно создавать и какие операции можно делать над ними, а потом плавно перейдем к отрисовке сцены.

Также перед тем, как начать, стоит сказать, что эта статья не описывает какой-то конкретный конвейер рендера в конкретном движке (хотя мы и будем приводить много примеров из UE4), а старается обобщить наши знания таким образом, чтобы вы могли понять откуда “растут ноги” у современных контент-пайплайнов и графических фич, а также поняли, почему количество полигонов в модели уже давно не является адекватным мерилом производительности.

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

Какие ресурсы можно создать на GPU?

Текстуры

Самый известный и самый объемный ресурс — это, наверное, текстура. Чисто для примера мы будем использовать простую текстуру 8х8 пикселей с призраком из игры Pac-man:

Что такое gpu рендеринг. Смотреть фото Что такое gpu рендеринг. Смотреть картинку Что такое gpu рендеринг. Картинка про Что такое gpu рендеринг. Фото Что такое gpu рендеринг

Текстура обладает рядом характеристик: размером, форматом, наличием мип мап. Это самые основные настройки текстуры, на которые стоит обращать внимание, поскольку они определяют объем памяти, занимаемый этим ресурсом, определяют — хранится ли текстура со сжатием и т. д. Стоит также разобраться в типах текстур — на удивление, их достаточно много. Итак, поехали:

Двумерные (в терминологии DirectX 11 — Texture2D).
Тут и рассказывать особо нечего — это самый распространенный тип текстур, который с большой вероятностью будет делать

90% картинки в вашем проекте. Текстуры объектов, интерфейса, служебные LUT, карты высот — как правило, это все Texture2D.

Трехмерные (в терминологии DirectX 11 — Texture3D).
Такие текстуры можно представить как массив или слои двумерных текстур. В редакторе создавать их как ассеты можно, но для этого их нужно включить ( r.AllowVolumeTextureAssetCreation 1 ). В основном, 3D текстуры используются самим движком для работы с Vector Fields, Distance Fields, Volumetric Lightmaps и т.д. То есть там, где необходимо пространственное представление данных.

Каждая текстура может обладать уменьшенными копиями самой себя — это так называемые мип-мапы (mip maps). Дело в том, что когда мы рисуем объект, он может находится как близко, так и далеко от игрока и соответственно иметь разный размер на экране. В результате, если объект имеет текстуру большего разрешения, чем его фактический размер на экране в этот момент — невозможно стабильно получить один и тот же цвет пикселя на экране с течением времени. В результате возникает эффект, известный под названием Муар (от фр. Moire).

Что такое gpu рендеринг. Смотреть фото Что такое gpu рендеринг. Смотреть картинку Что такое gpu рендеринг. Картинка про Что такое gpu рендеринг. Фото Что такое gpu рендеринг

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

8 Мб

Константные буферы

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

Рассмотрим простейшую модель — куб. Как вам, возможно, известно — треугольник является наименьшим элементом, из которого состоят все 3D-модели. И чтобы описать модель способом, который будет понятен GPU, нам нужно 2 буфера — вершинный и индексный. Вершинный описывает, как ни странно, вершины модели: их позицию, нормали, текстурные координаты и т. д. Индексный буфер содержит индексы вершин, порядок соединения этих вершин, необходимый для построения на экране отдельного треугольника.

Шейдера и стейты

Вместе с ресурсами на GPU можно создавать дополнительные объекты: стейты и шейдера. Первые из них являются объектами, которые описывают правила взаимодействия с конкретным ресурсом, вторые же —отдельные программы для GPU.

SamplerState — стейт, который определяет, как GPU делает выборку с текстуры: фильтрацию, адресацию. Это, наверно, единственный стейт в UE4, на который мы явно можем влиять, когда устанавливаем текстуру в материале или в настройках самой текстуры. При описании текстур я избегал слова “сэмплить” (sample), под сэмплингом подразумевается вычисление цвета, именно вычисление, а не простая загрузка из памяти. Каждый раз, когда мы сэмплим из текстуры, GPU делает много вычислений, чтобы определить, с какой мипмапы брать цвет, возможен даже блендинг между мипмапами; для определенных типов фильтрации, таких как Anisotropic, в учет берется и положение треугольника в пространстве. Сэмплинг — достаточно сложная операция, и чем меньше текстур используется при рендеринге объекта, тем лучше.

А что будет, если мы попытаемся взять пиксель за пределами текстуры (напомним, что текстура находится в пределах 0. 1)? Для этого и была придумана адресация.

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

Шейдер — это программа, которая выполняется на GPU. Есть разные виды шейдеров, но мы остановимся только на двух основных: Vertex Shader (вершинный) и Pixel Shader (пиксельный). Основной задачей вершинного шейдера является трансформация объекта в пространстве (перемещение, поворот и масштабирование) и проецирование на экран. После того, как GPU спроецировала примитив на экран, вступает в работу пиксельный шейдер, который и вычисляет цвет пикселя.

В UE4 шейдеры создаются путём визуального программирования в Material Editor. Каждый материал имеет в себе предопределенные входы (инпуты) (Base Color, Metallic, Roughness, Emissive и т.д.), и мы, создавая ноды и соединяя их в определенной последовательности, генерируем код шейдера. Этот код является только частью шейдера и определяет основные параметры материала. В свою очередь, материал генерирует не один шейдер, а целое множество шейдеров для разных проходов материала.

Операции на GPU

На GPU есть особая текстура — Swapchain, которая представляет собой область экрана, где рисуется наша сцена. Swapchain состоит из нескольких буферов: front buffer — содержит то, что сейчас мы видим на экране, и back buffer — текстура, в которую мы рисуем следующий кадр. Когда наша сцена отрисована и находится в back buffer, мы вызываем команду Present — она меняет front buffer и back buffer местами. И отрисовка следующего кадра начинается снова.

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

Источник

Что такое рендер или рендеринг

Что такое рендер ( render / rendering )?

Сфера применения

Рендеринг сцен используется в: компьютерных видеоиграх, симуляторах, фильмах, рекламных роликах, телевизионных спецэффектах и архитектурной 3D визуализации. Каждая сфера деятельности использует различный баланс функций и методов просчета. Рассмотрим пару примеров применения рендеринга более детально:

Что такое gpu рендеринг. Смотреть фото Что такое gpu рендеринг. Смотреть картинку Что такое gpu рендеринг. Картинка про Что такое gpu рендеринг. Фото Что такое gpu рендеринг

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

Что такое gpu рендеринг. Смотреть фото Что такое gpu рендеринг. Смотреть картинку Что такое gpu рендеринг. Картинка про Что такое gpu рендеринг. Фото Что такое gpu рендеринг

Что такое gpu рендеринг. Смотреть фото Что такое gpu рендеринг. Смотреть картинку Что такое gpu рендеринг. Картинка про Что такое gpu рендеринг. Фото Что такое gpu рендеринг

Теперь на телеэкране реальным можно сделать все и всех. Нет необходимости в макетах, манекенах, париках, гриме. 3d модель с последующим рендерингом экономит время и средства необходимые на производство спец-эффектов.

Что такое gpu рендеринг. Смотреть фото Что такое gpu рендеринг. Смотреть картинку Что такое gpu рендеринг. Картинка про Что такое gpu рендеринг. Фото Что такое gpu рендеринг

Рендер студии Viarde, сделанный для одной из мебельных фабрик. Производителям мебели, света, техники т.п., больше нет необходимости оплачивать дорогостоящие фото студии, чтобы наилучшим образом представить свои продукты. За несколько дней и с намного меньшей стоимостью это сделают студии занимающиеся 3d визуализацией.

Системы рендеринга

Системы рендеринга которые используются 3D редакторами для просчета (отрисовки) визуализации бывают встроенные в программу или внешние подключаемые (устанавливаться отдельно). Чаще внешние системы рендеринга имеют лучше качество визуализации чем встроенные, потому что они разрабатываться не зависимо от 3D редактора, и команда разработчиков работает только над усовершенствованием своего продукта не отвлекаясь на работу с 3D редактором. У команд разрабатывающих внешние рендеры больше времени и возможностей на то, чтобы сделать свой продукт лучшим на рынке. Но из-за этого чаще всего, в отличие от встроенных рендер систем за них придется заплатить дополнительно.

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

В случае 3D-графики рендеринг может выполняться медленно, как в режиме предварительного рендеринга (pre-rendering), так и в режиме реального времени (real time rendering).

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

Рендеринг в архитектурной 3D визуализации

На сегодняшний день самыми популярными и качественными системами для архитектурной 3d визуализации являются Vray и Corona Renderer. Обе системы принадлежат одному разработчику Chaos Group (Болгария).

Что такое gpu рендеринг. Смотреть фото Что такое gpu рендеринг. Смотреть картинку Что такое gpu рендеринг. Картинка про Что такое gpu рендеринг. Фото Что такое gpu рендеринг

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

Основные достоинства V-Ray:

1. Поддерживает сетевой рендер несколькими компьютерами.

2. Очень широкий спектр настроек для разных задач связанных с трехмерной графикой.

3. Огромный набор материалов.

4. Поддерживает большой набор пассов для композинга картинки или видео.

Главное достоинство Corona Renderer это очень реалистичная визуализация при простых настройках системы. Она отлично подойдет для новичков, перед которыми стоят простые задачи.

Скорость рендера

Рендер системы при работе как все остальные программы установленные на компьютер требует для просчета изображения определенные ресурсы вашего ПК. В основном требуется мощность процессора и количество оперативной памяти. Такие рендер системы называются CPU Rendering. Есть еще GPU Rendering, это рендер системы просчитывающие изображения с помощью видеокарты ( процессора ). Например Vray имеет возможность рендерить и CPU и GPU.

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

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

Что такое gpu рендеринг. Смотреть фото Что такое gpu рендеринг. Смотреть картинку Что такое gpu рендеринг. Картинка про Что такое gpu рендеринг. Фото Что такое gpu рендеринг

Лучший способ для того чтобы, сократить время просчета картинки это использовать сетевой рендеринг или готовую рендер ферму в интернете. Можно распределить рендер между разными компьютерами через локальную сеть или интернет. Для этого все компьютеры участвующие в процессе должны иметь такую же программу для рендеринга, такой же 3д редактор и такие же плагины, как и основной компьютер с которого запускается рендер.

История и основы вычислительных процессов рендеринга

Самое современное программное обеспечение сочетает в себе два или более методов просчета света для получения достаточно хороших результатов при разумных затратах времени.

Scanline rendering и растеризация

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

Если pixel-by-pixel подход к визуализации нецелесообразен или слишком медленен для какой-либо задачи, тогда primitive-by-primitive подход к визуализации может оказаться полезным. Здесь каждый просматривает каждый из примитивов, определяет, на какие пиксели изображения он влияет, и соответственно модифицирует эти пиксели. Это называется растеризацией, и это метод рендеринга, используемый всеми современными видеокартами.

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

Что такое gpu рендеринг. Смотреть фото Что такое gpu рендеринг. Смотреть картинку Что такое gpu рендеринг. Картинка про Что такое gpu рендеринг. Фото Что такое gpu рендеринг

Ray casting

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

Моделируемая геометрия анализируется попиксельно (pixel-by-pixel), построчно (line by line), с точки зрения наружу, как если бы лучи отбрасывались от точки взгляда. Там, где объект пересекается, значение цвета в точке может быть оценено с использованием нескольких методов. В самом простом случае значение цвета объекта в точке пересечения становится значением этого пикселя. Цвет можно определить по текстурной карте. Более сложный метод заключается в изменении значения цвета с помощью коэффициента освещения, но без расчета отношения к моделируемому источнику света. Чтобы уменьшить артефакты, количество лучей в слегка разных направлениях может быть усреднено.

Может быть дополнительно использовано грубое моделирование оптических свойств: обычно очень простое вычисление луча от объекта к точке зрения. Другой расчет сделан для угла падения световых лучей от источника(ов) света. И из этих и указанных интенсивностей источников света вычисляется значение пикселя. Или можно использовать освещение, построенное по алгоритму radiosity. Или их сочетание.

Radiosity

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

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

В расширенной симуляции radiosity рекурсивные, конечно-элементные алгоритмы «отражают» свет назад и вперед между поверхностями в модели, пока не будет достигнут некоторый предел рекурсии. Таким образом, окраска одной поверхности влияет на окраску соседней поверхности, и наоборот. Результирующие значения освещенности по всей модели (иногда в том числе для пустых пространств) сохраняются и используются в качестве дополнительных входных данных при выполнении расчетов в модели наведения луча или трассировки лучей.

Из-за итеративного/рекурсивного характера техники сложные объекты особенно медленно подражают. Расширенные расчеты radiosity могут быть зарезервированы для расчета атмосферы комнаты, от света, отражающегося от стен, пола и потолка, без изучения вклада, который сложные объекты вносят в radiosity, или сложные объекты могут быть заменены в вычислении radiosity более простым объекты одинакового размера и текстуры.

Если в сцене наблюдается незначительная перегруппировка объектов radiosity, одни и те же данные radiosity могут повторно использоваться для ряда кадров, что делает radiosity эффективным способом улучшения плоскостности приведения лучей без серьезного влияния на общее время рендеринга на кадр. Из-за этого, radiosity стал ведущим методом рендеринга в реальном времени, и был использован для начала и создания большого количества известных недавних полнометражных анимационных 3D-мультфильмов.

Что такое gpu рендеринг. Смотреть фото Что такое gpu рендеринг. Смотреть картинку Что такое gpu рендеринг. Картинка про Что такое gpu рендеринг. Фото Что такое gpu рендеринг

Ray tracing

Ray tracing является продолжением той же технологии, которая была разработана при Scanline и Ray casting. Как и те, он хорошо обрабатывает сложные объекты, и объекты могут быть описаны математически. В отличие от Scanline и Ray casting, Ray tracing почти всегда является методом Монте-Карло, который основан на усреднении числа случайно сгенерированных образцов из модели.

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

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

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

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

Как метод грубой силы, Ray tracing была слишком медленной, чтобы рассматривать ее в режиме реального времени, и до недавнего времени она была слишком медленной, чтобы даже рассматривать короткие фильмы любого уровня качества. Хотя она использовалась для последовательностей спецэффектов и в рекламе, где требуется короткая часть высококачественного (возможно, даже фотореалистичного) материала.

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

Пара интересных фактов про рендеринг

Например фильм «Аватар» Джеймса Камерона рендерился на 34 стойках HP с 32 блейдами HP Proliant BL2x220c в каждой 40 000 процессорных ядер и 104 Тб RAM. При такой мощности на один кадр уходило около 50-ти часов.

А известная мультипликационная компания Pixar, которая сделала такие мультфильмы как «Волли» и «Тачки», разработала для своих проектов собственную рендер систему которая называется Pixars RenderMan. Этот рендер направлен на быстрый просчет сложных анимационных эффектов, таких как: вода, облака, шерсть, волосы и другое.

С каждым днем рендер системы используются все больше в разных сферах деятельности. Для фильмов, мультфильмов, архитектуры, рекламы, промышленности, автомобилестроения и многие другое. Так что если вы видите где, то статическое изображение или анимацию, вполне возможно что это результат рендеринга.

Источник

7 проблем GPU рендеринга

Что такое gpu рендеринг. Смотреть фото Что такое gpu рендеринг. Смотреть картинку Что такое gpu рендеринг. Картинка про Что такое gpu рендеринг. Фото Что такое gpu рендерингGPU рендеринг в Octane, Redshift и других рендерерах, использующих ресурсы видеокарты, а не процессора, поначалу вызывает настоящий восторг. Время рендера по сравнению, например, с V-ray уменьшилось в разы, можно в реальном времени оценить результат изменений в сцене, можно быстро посмотреть как все будет выглядить на финальных рендерах и многое другое будет говорить, казалось бы, о несомненном доминировании рендера на видеокарте.

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

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

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

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

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

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

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

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

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

5. Капризы видеокарт и драйверов

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

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

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

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *