Выступая перед аудиторией, насчитывающей порядка 500 разработчиков и журналистов, Ануж Гозалия, менеджер по разработке DirectX в Microsoft, представил DX12 как совместный проект производителей аппаратного обеспечения, разработчиков игр и команды Microsoft.
Гозалия продемонстрировал работу нового API на примере технологической демонстрации на базе игры Forza, изначально созданной для Xbox One. Демонстрация была запущена на ПК, оснащенном NVIDIA GeForce GTX Titan Black. Кроме того, команда софтверных инженеров NVIDIA предоставила студиям разработки игр специальный драйвер для DX12, который не только позволит получить отзывы по новой версии API, но и дает возможность разрабатывать DX12 игры уже сейчас.
Критическим фактором принятия любого нового API является размер доступного рынка. В прошлом, распространение новых возможностей было ограничено отсутствием поддержки на рынке консолей, а также отсутствием поддержки этих возможностей в популярных версиях ОС Windows. DX12 позволит обеспечить беспрецедентное сближение интерфейсов API и широту поддержки. DX12 будет доступен как на ПК, так и на XBox One, планшетах и даже телефонах.
Истоки DX12 можно увидеть в тенденциях развития технологий. В то время как производительность GPU стремительно росла, потенциал развития одноядерных CPU был ограничен энергопотреблением. Многоядерные CPU обеспечили движение вперед, однако их пиковая производительность все еще не дотягивала до пиковой производительности GPU. Одновременно приложения стали использовать параллелизм на уровне задач, используя сложные планировщики для масштабирования производительности при увеличении количества ядер CPU. Это вызвало необходимость в создании API, который бы масштабировался соответственно изменению числа ядер.
Распределение потоков нагрузки на ядра CPU в 3DMark гораздо равномернее в DirectX 12, чем в DirectX 11 / nvidia.com
Производительность GPU можно реализовывать в 3-х направлениях: более сложная обработка пикселей, отрисовка большего количества пикселей и увеличение количества объектов. В нынешней ситуации мы практически выжали максимум из GPU по количеству и качеству пикселей. С выпуском DX12 мы хотим сделать изображение визуально значительно более богатым за счет значительного сокращения ресурсов CPU, которые тратятся внутри API. Традиционно, памятью, состоянием и синхронизацией управляли операционная система и драйверы. Однако недостаток информации о задачах, решаемых приложениями, приводил к неэффективному использованию CPU. DX12 позволяет приложениям напрямую управлять ресурсами и состоянием и выполнять необходимую синхронизацию. В результате, разработчики передовых приложений смогут эффективно управлять GPU, используя знания о внутренней работе своей собственной игры.
Кстати, одними из первых DirectX 12 получат владельцы приставок XBox One. Посмотри, как выглядит эта приставка:
Источник