Компания Microsoft рассказала о новой возможности API DirectX 12, которая позволит обеспечить более высокую производительность в играх, с помощью объединения интегрированного GPU с дискретной видеокартой. Данная технология получила название «Мультиадаптер».
В блоге разработчиков DirectX, Эндрю Юнг, представитель корпорации Microsoft, рассказал подробности: «До появления Windows 10 и DirectX 12 весь потенциал от второго GPU оставался нереализованным. Теперь же разработчики смогут одновременно использовать все видеокарты системы. Если вы хардкорный геймер с несколькими видеокартами – получив полный контроль над аппаратной начинкой системы, приложения смогут более эффективно оптимизировать работу для high-end компьютеров, выжимая из них ещё больше производительности. Мы назвали эту функцию DX12 «Мультиадаптер» и приложения смогут использовать её, чтобы разблокировать весь имеющийся кремний, который в противном случае бы спал и ничего не делал».
В качестве примера, Юнг продемонстрировал работу «Мультиадаптера» на движке Unreal Engine 4. Проводилось сравнение стандартной обработки графики дискретной видеокартой и обработка при разделении нагрузки на систему интегрированной видеокартой от Intel и дискретной от NVidia. Обе системы обрабатывали 635 кадров так быстро, насколько могли. В результате выяснилось, что «мультиадаптерная» обработка смогла выдать больше кадров за 6 секунд рендеринга, а прирост составил с 35.9 до 39.7 кадров в секунду.
Каким образом это работает? В стремлении к максимальной производительности, Microsoft разделила загрузку видеокарт на этапе постобработки. Вместо того, чтобы обрабатывать одновременно один и тот же кадр и терять мощность впустую, одна из видеокарт переходит на следующий кадр и начинает заранее его обрабатывать. Изображение ниже показывает график реальной рабочей нагрузки на видеокарты, на котором видно, что происходит разделение обработки кадров, при котором следующий кадр постобработки появляется быстрее.
Microsoft ведёт работу над улучшением «мультиадаптерности» путём использования особенностей дискретных видеокарт, к примеру, параллельную операцию копирования кадра на видеокарте Nvidia одновременно с его обработкой, что приводит к ещё большему росту производительности. Помимо этого, нагрузка на встроенный GPU при обработке составляет лишь 70% времени и в будущем можно будет улучшить этот показатель.
Пост в блоге DirectX появился спустя несколько недель после слуха о том, что DirectX 12 позволит одновременно использовать дискретные видеокарты разных производителей. «Мультиадаптерность» по функциональности схожа с этим слухом, однако неизвестно, позволит ли она использовать не только интегрированные GPU, но и дискретные карты другого производителя.