Windows 7: следующее поколение графики

Изменения в графике, которые будут реализованы в Windows 7, не будут очень сильными, хотя и они должны предоставить пользователям приветливые возможности и возможно даже значительно повлиять на их выбор в пользу новой ОС. Ниже мы попытались представить вам некоторую информацию, о том, чего же все-таки стоит ожидать от Windows 7 в плане графики.

08.12.2008 01:18
Страницы: Пред. 1 2 3 След.

Windows 7 | DirectX 11

Еще одной новинкой Windows 7 станет DirectX 11 или возможно даже правильнее будет сказать Direct3D 11, которую на самом деле можно считать расширенной и дополненной технологией Direct3D 10.1. И действительно новинка будет обладать всеми возможностями DX10.1, как, впрочем, и некоторыми новыми дополнениями. DX11 будет представлена в Windows 7, однако она будет доступна и в Windows Vista. Причем некоторые возможности DX11 будут работать даже на оборудовании DX10, естественно, при наличии обновленных драйверов.

Одним из ключевых улучшений новой технологии DirectX 11 станет улучшенная поддержка мультитридинга (многопотоковости). В настоящее время драйвера видеокарт на минимальном уровне уже поддерживают многопотоковость, однако сама по себе DirectX все еще остается однопотоковой и поэтому часто является узким местом в работе игр, не позволяя им работать со всей их возможной скоростью. Впрочем, в DX11 ресурсы будут загружаться асинхронно и параллельно, наряду с выполнением рендеринга. Также многопотоковыми будут и подзадачи прорисовки и состояния.

Все это должно помочь в распределении нагрузки “графической установки” на множество процессорных ядер, помогая разработчикам лучше использовать возможности многоядерных процессоров настоящего и будущего. Также возможно, что многопотоковость даст в руки игр большее количество ресурсов. Все возможности новой технологии будут поддерживаться оборудованием DirectX 11, однако и оборудование DX10 сможет использовать множество возможностей многопотоковости, естественно при условии наличия “правильных драйверов” и с несколько меньшей производительностью, чем истинное DX11-оборудование.

Windows 7: следующее поколение графики
Интерфейс грядущей операционной системы Windows 7

Еще одним важным дополнением DirectX 11 станет поддержка аппаратной тесселяции. В отличие от многопотоковости, эта возможность совсем не будет поддерживаться оборудованием DX10 и будет требовать только нового оборудования. Так, например, аппаратные тесселяционные единицы, встроенные в настоящее время в современные графические чипы от ATI, не подойдут для использования аппаратной тесселяции DirectX 11.

Сама по себе тесселяция является процессом “разбивания” низко-многоугольной сети или модели на огромное число многоугольников, в результате чего модель становится более гладкой и более детализованной. В настоящее время в 3D графике существует множество методов выполнения тесселяции, и многие из них, благодаря гибкости DX11, будут поддерживаться и будущей технологией.

Вкратце работа тесселяции будет заключаться в следующем. На вход так называемого поверхностного шэйдера (hull shader)  будут поступать контрольные точки для патча (это первое появление патчевых, “заплаточных” данных в DirectX). Данные с выхода поверхностного шэйдера “скажут” тесселятору  насколько тесселировать. Тесселятор же, сам по себе являющийся фиксированной функциональной единицей, возьмет данные с выхода поверхностного шэйдера и сгенерирует добавочную геометрию. Далее зональный шэйдер (Domain Shader) из данных тесселяции подсчитает положения вершин и передаст их в геометрический шэйдер.

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

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

И, наконец, последней, но далеко не самой малозначительной возможностью DirectX 11 станет так называемый Compute Shader или вычислительный шэйдер. Разработчики годами использовали графическое оборудование для работы так называемых “GP-GPU приложений”, однако применение для этих целей интерфейса Direct3D в лучшем случае было слишком обременительным. Ведь API и графическое оборудование просто не предназначены для общего доступа к памяти и для обобществления данных, что требуется неграфическим приложениям. А вычислительный шэйдер является первой попыткой Microsoft решить эту проблему. Благодаря нему разработчики смогут читать и писать структуры данных прямо в память, как, впрочем, и обобществлять регистры между потоками, а благодаря новому классу хранения данных "groupshared", и снизить избыточность ввода/вывода.

Windows 7: следующее поколение графики
Интерфейс грядущей операционной системы Windows 7

Более того, использование функций вычислительного шэйдера не требует выполнения никаких задач по переключению между задачами GP-GPU и графикой – вы остаетесь “в пределах драйвера DirectX”, а данные, сгенерированные вычислительным шэйдером, могут использоваться графическими стадиями API и наоборот. Последнее особенно полезно при разработке игр, где типовые функции GP-GPU могут значительно снизить производительность при переключениях видеокарты с задач GP-GPU на графику и наоборот.

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

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

В настоящее время Microsoft уже проводит некоторые тесты по использованию вычислительных шэйдеров DX11 на оборудовании DX10. Причем тест Fast Fourier Transform слегка обошел по производительности приложение CUDA (интересно, как сравнивали?), однако разница в производительности может быть значительно увеличена посредством использования более нового оборудования.

Windows 7: следующее поколение графики
Интерфейс грядущей операционной системы Windows 7

Страницы: Пред. 1 2 3 След.
Оцените материал:  
(Голосов: 44, Рейтинг: 4.3)

Каждый вечер мы будем присылать вам одно письмо со всеми опубликованными за день материалами. Нет материалов - нет писем, просто и удобно (другие варианты).

Материалы по теме


Комментарии (0)