На конференции BUILD 2013 для разработчиков компания Microsoft анонсировала новую версию DirectX, набора API для создания игр и графических приложений, под порядковым номером 11.2. Обновленная технология предназначена исключительно для Xbox One и Windows 8.1, и несмотря на небольшую смену цифры, новый DirectX привносит весьма серьёзные улучшения.
Согласно предварительной документации, Windows 8.1 обеспечивает отдельную компиляцию и связывание HLSL-шейдеров, что позволяет программистам создавать предварительно скомпилированные HLSL-функции, запаковывать их в специальные библиотеки, после чего сцеплять их в качестве полноценных шейдеров во время выполнения программы. Этот процесс в целом аналогичен раздельной C/C++ компиляции, упаковке в библиотеки и дальнейшему связыванию. К слову, HLSL-компилятор будет встроен в Windows 8.1 и будущие версии системы, поэтому подобные шейдеры можно без проблем использовать для вывода приложения в Windows Store. Тем не менее, стоит помнить, что многие API будут недоступны для Windows 8.
Поддержка многоплоскостного наложения при помощи GPU позволяет разработчикам быстро и незатратно для ресурсов видеокарты масштабировать двухмерную графику для адаптации к нативному разрешению экрана, параллельно отрисовывая трёхмерные сцены в уменьшенный буфер кадров. Это позволяет экономить ресурсы GPU, оставляя ей возможность более спокойно исполнять код приложений. Приложения уже сейчас могут применять похожую технологию без DirectX 11.2, но это потребует дополнительных ресурсов.
Другим важным нововведением являются мозаичные ресурсы, суть которых заключается в том, что используя небольшой объём физической памяти видеокарты, специальный алгоритм может масштабировать данные, освобождая память GPU. Например, если у вас есть большой объём текстур, которые могут занять всю память GPU, то, используя API мозаичных ресурсов, вы можете определить площадь, где используются текстуры одного оттенка, после чего обрезать небольшую часть текстуры и отмасштабировать её (принцип тайловых текстур, используемый, обычно, для текстур травы, песка и подобных), не потеряв при этом качества на большой дальности прорисовки. При приближении, тайловая текстура будет плавно заменена на основную. Побочным эффектом является повышение потребления оперативной памяти, которая работает с логическим ресурсом, а GPU обрабатывает лишь исходную текстуру. В Microsoft обещают, что разработчики при грамотном использовании этого API смогут добиться значительной оптимизации.
На этом нововведения нового DirectX не заканчиваются, но они не столь значительны и касаются повышения производительности и плавности интерфейса, а также дают разработчиками более гибкие инструменты для упрощенного доступа непосредственно к самой GPU. Стоит заметить, что положительные эффекты начнут действовать не сами по себе, а потребуют работы разработчиков приложений, но Microsoft сообщила, что предоставит разработчикам все необходимые инструменты, руководства и примеры кода, которые, к слову, уже можно просмотреть на MSDN. Что касается совместимости, то, как говорилось выше, данные улучшения доступны исключительно для Windows 8.1 и Xbox One, при условии, что видеокарта поддерживает DirectX 11.1, так как большинство анонсированных возможностей не требуют аппаратной поддержки в видеокарте. Обновленные тестовые драйвера для GeForce и Radeon уже выпущены с учётом DirectX 11.2.
Источник: OsZone
|