GPGPU находит ещё одно использование на практике
Всего пара месяцев назад представители THG начали более тесно общаться с разработчиками и поставщиками ПО, хотя более детально оценить возможности компонентов OpenCL и DirectCompute в настоящих условиях. Мы стараемся максимально углубиться в данную тему, но на данный момент поведать очень нечего. Мы уже проводили тесты Metro 2033 с включённым и отключённым фильтром глубины резкости, что применяет DirectCompute.
Но пока возможно лишь заявить, что он вправду воздействует на производительность.
Наконец обстановка начала изменяться. Всё больше и больше игр включают помощь DirectCompute. В данной статье мы протестируем четыре из них: Battlefield 3, DiRT 3, Civilization 5 и, само собой разумеется, Metro 2033.
В отличие от прошлых игр, каковые мы тестировали, на данный момент отечественное внимание сконцентрировано не на чистой производительности совокупности либо отдельных компонентов. Да, это ещё одна статья, в которой AMD оказывает помощь в технических качествах и при беседах с разработчиками, исходя из этого мы разглядываем APU данной компании и сопоставляем их с дискретными видеоплатами. Но в данном материале мы изучаем не только влияние на частоту кадров.
Тут мы разглядываем разработке, каковые оказывают помощь добиться более большого уровня реализма, что без помощи вычислений на базе GPU был неосуществим.
Нил Робисон (Neal Robison) — директор по связям с ISV из компании AMD говорит, что за последние годы приобретать более высокую скорость в играх, основанных только на аппаратных усовершенствованиях, стало не так действенно, как раньше. По его словам разработчикам ПО в большинстве случаев не приходится переписывать собственный софт, потому, что улучшения аппаратного обеспечения как правило дадут им двойной прирост производительности если сравнивать с прошлым поколением.
Но наступил тот момент, в то время, когда мы добавляем ядра, а не увеличиваем производительность отдельных компонентов. Разработчикам, по сути, нужно будет делать трансформации в собственном ПО, и в некоторых случаях фундаментальные трансформации в архитектуре. Неоднородные вычисления — это один из ключей, что разрешит вам как разработчику в практически смысле покопаться во внутренностях процессора и сделать огромный скачок вперёд, подталкивая пользователей к обновлению собственного софта.
Оценка Робисона относительно того, что разработчики будут делать с неоднородными вычислениями имеет место, в то время, когда речь заходит о таких приложениях, как Adobe Premiere Pro CS 5 (в частности движок Mercury Playback Engine с помощью CUDA) и в перекодировании видео. Обе параллельных нагрузки легко применяют преимущества графического процессора. Однако, мы ещё не видели пользу от OpenCL либо DirectCompute в играх.
Оба API, думается, разрешают разработчикам ПО, применяющим новые подходы, добиться повышения уровня реализма. Не смотря на то, что нам так же, как и прежде весьма интересно, как в топовых играх употребляются последние успехи в неоднородных вычислениях и как они развиваются. За ответом на эти вопросы нужно обратиться к разработчикам, и это как раз то, что мы искали.
Перед тем как двигаться дальше давайте мало поболтаем о производительности. В недавнем обзоре называющиеся APU AMD против CPU Intel с дискретной графикой: тесты производительности мы чётко видели пределы современных APU. Мы запускали Metro 2033, Battlefield 3, DiRT 3 и в каждом случае, в эти игры возможно было играть на умеренном разрешении 1024×768, применяя самые низкие настройки детализации. Больший упор на графические ресурсы для обработки OpenCL либо DirectCompute не поменял обстановку.
Очень возможно, что вы сможете играться в любимые игры на ноутбуке, оборудованном APU, но не получите прекрасную картину.
Но помните, что до появления новых процессоров от Intel и новых APU Trinity от AMD осталось очень мало. Показатели производительности возрастут и надлежащая помощь обоих вычислительных стандартов наверняка улучшит впечатления от ваших любимых игр, и обе компании смогут обеспечить больше кадров в секунду на оборудовании нового поколения.
DirectCompute оказывает помощь реализовать Ambient Occlusion
Свойство GPU делать громадные параллельные рабочие нагрузки много обсуждалась на THG. В следствии различные архитектуры, CPU и GPU легко предназначены для различных типов приложений. К примеру, в то время, когда вы используете эффект на изображении, операция повторяется в тысяче пиксельных элементах в один момент.
Имеется ли какие-нибудь предположения по поводу того, какой подход более действенно применяет дешёвые вычислительные ресурсы, в случае если у вас имеется четырёхядерный процессор и 2000 ALU?
В теории, таковой подход к обработке может значительно увеличить пропускную свойство, потому, что у вас будет память GDDR5 со скоростью 4 GT/s вместо системной памяти со скоростью 1600 MT/s либо около того, и громадный прирост производительности и вычислительной производительности на ватт, в то время, когда употребляются верные методы.
Кроме этого учитывайте, что не смотря на то, что CPU однако превосходит GPU во многих задачах, задержки и ресурсы, нужные для коммуникации между чипами, смогут посильнее навредить скорости, чем исполнение задачи лишь на GPU.
Применение дополнительного потенциала GPU требует дополнительной работы над софтом. Имеется пара способов применять способности аппаратного обеспечения, и DirectCompute — часть DirectX — это API от Микрософт, связывающие GPU и приложения.
В прошлом, мы разглядывали, как ранние попытки применять универсальные вычислительные возможности графического процессора давали пользу для разных рынков, таких как рынки изучения (к примеру, SETI @ Home и Folding @ Home), изучения и научного моделирования. Оттуда GPGPU начали просачиваться на потребительский рынок, но весьма медлительно, в особенности видеообработка и перекодирование. Сейчас мы видим, как DirectCompute и OpenCL делают дополнительные функции.
Разработчики игр начинают использовать DirectCompute для улучшения рендеринга, AI, окклюзии, физики и освещения.
Применение DirectCompute для затенения фонового освещения (Ambient Occlusion (AO))
Чаще всего DirectCompute употребляется в играх для разработки Ambient Occlusion (изначально созданной компанией Industrial Light and Magic более десяти лет назад), которая имитирует, как свет взаимодействует с текстурами и поверхностью.
Лучи исходят от всей поверхности и те, каковые достигают фона, додают яркость поверхности, тогда как луч, что ударяется о второй объект не даёт света, а поглощается. Так, объекты, окружённые вторыми объектами чёрные, а те, каковые не окружены препятствиями, более броские.
В случае если представить угол в затенённом переулке, для ваших глаз он будет смотреться чернее, потому, что в него попадает и отражается меньше света. Стенки мешают проникновению света в эту область, помимо этого, что отражается от соседних строений. Разработка AO важна за такое улавливание света. Без неё поверхности кажутся плоскими и неестественными.
Гарет Томас (Gareth Thomas) из Codemasters представил нам скриншоты из DiRT 3, дабы проиллюстрировать этот эффект. Обратите особенное внимание на область покрышек.
AO отключено
AO включено
Как растолковал Томас, затенение фонового освещения высокой чёткости (HDAO) – это экранный эффект, что несёт ответственность за глубину картины и вычисляет коэффициент затемнения зависящий от того, закрыта либо открыта область с позиций буфера глубины. К примеру, расщелины между покрышками на скриншотах должны быть более чёрными, потому, что меньше отражённого света может достигнуть данной области. HDAO возможно охарактеризовать как количество отражённого света, которое может заметить пиксель.
Позже он включается в модель освещения при рендеринге сцены. Это не самый лучший способ, потому, что глубина сцены с позиций камеры содержит не хватает информации для корректного расчёта AO. Но так определённо лучше, чем без затенения фонового освещения по большому счету.
Затенение фонового освещения возможно кроме этого представить через пиксельные шейдеры. Разработчики смогут выбирать между двумя способами, и на данном этапе нам неясно, из-за чего DirectCompute возможно предпочтительнее. В итоге, в более ранних тестах мы видели как DC-эффекты оказывали большой влияние на производительность (и не обязательно хорошее).
Применять вычислительные ресурсы, чтобы получить функции, каковые нельзя получить иным путём – это одно дело, но для чего выбирать DirectCompute, в то время, когда с данной работой в полной мере смогут совладать шейдеры? Ну, для начала, DirectCompute больше не воздействует на производительность в отличие от пиксельных шейдеров.
По словам Томаса, любой пиксель, для которого рассчитывается AO, требует множества считываний глубины текстуры. В пиксельном шейдере каждое считывание текстуры занимает цикл.
В вычислительном шейдере LDS (локальный обмен данными) заполнен информацией глубины текстуры, и последовательные считывания проходят намного стремительнее, чем текстурная выборка.
От tbubb на umbcretrievers.wordpress.com
В данной части мы желаем возвратиться к вопросу неоднородных вычислений и как сегодняшнее аппаратное обеспечение приспособлено под обсуждаемые задачи. Как справляются APU если сравнивать с отдельным процессором и дискретной графикой, трудящимися через PCI Express? Сможет ли выборка текстур, которая идёт из памяти (а APU надеются на архитектуру неспециализированной системной памяти), помешать APU действенно делать задачи, либо же близость к ресурсам хост-процессора благоприятно повлияет на процесс?
Источник: www.geforce.com
Источник: www.geforce.com
Томас говорит, что HDAO требует глубину сцены лишь как вход. Сперва она должна быть визуализирована, но на практике в большинстве игр эта информация уже находится в g-буфере либо буфере глубины. Буфер глубины – это ресурс видеопамяти и HDAO выполняется одинаково как на APU так и на GPU.
Способ весьма действенный, потому, что для вывода текстуры нужна лишь дополнительная память. Это ещё одна обстоятельство того, из-за чего популярность данного способа скоро растёт.
Необходимо подчеркнуть один принципиальный момент, что выявился на протяжении отечественных тестов. В грядущих итогах Battlefield 3 вы заметите, как с включённым HBAO (horizon-based ambient occlusion) APU достигает лишь 14 FPS, что определённо не хватает для комфортной игры. По окончании установки видеоплаты Radeon HD 7970 итог возрастает в 8.5 раз, конечно возможно высказать предположение, что APU не имеет возможности совладать с нагрузкой DirectCompute.
Но не разрешите себя запутать. Кроме того без AO совокупность с APU достигает в среднем лишь 16.6 FPS.
Легко Battlefield 3 – через чур тяжёлая нагрузка для APU. Это не означает, что неоднородная архитектура снижает производительность. Легко необходимо более замечательное оборудование.
Случайная статья:
- Как отключить защитник windows
- После выключения роутера пропала wi-fi сеть. появилась неизвестная сеть, без пароля
Физика и PhysX в играх. Почему это разные вещи?
Похожие статьи:
-
R.a.i.s.e. и durawrite — технологии для увеличения срока службы и надежности ssd накопителей
Справочный пост. Донесение до энд-юзеров информации о том, как производитель заботится о них — главная задача любого игрока на рынке комплектующих. Не…
-
Китайцы достаточно замороченные на магии чисел. Ну вот, к примеру, в Китае фактически не видится цифра 4 – кроме того в лифтах обычно нет кнопки с таким…
-
Новое поколение мышиных ковриков для геймеров: тесты четырёх моделей
Введение Сейчас в магазинах возможно отыскать большое количество различных мышиных ковриков, но любой из них специфичен. Геймерам нужна мышиная…