DirectX 12 считается более производительным, чем DirectX 11, по нескольким причинам:
- Поддержка параллельных вычислений. www.howtogeek.com www.digitaltrends.com В DirectX 11 операции выполняются в линейной очереди, такие как сжатие текстур, симуляция физики, генерация теней и загрузка данных CPU, происходят одна за другой. www.howtogeek.com DirectX 12 позволяет выполнять эти операции параллельно и в нескольких потоках, что заметно улучшает эффективность. www.howtogeek.com
- Асинхронные вычисления. dzen.ru www.digitaltrends.com Они позволяют оборудованию продолжать работу, не дожидаясь завершения другой операции. www.digitaltrends.com Например, процессор может выполнить вводную часть для получения текстур из памяти и перейти к выполнению другой функции (например, искусственного интеллекта для персонажа), не дожидаясь завершения этой инструкции из памяти. www.digitaltrends.com
- Объекты состояния конвейера (PSO). dzen.ru Они позволяют графическому процессору предварительно обрабатывать каждое зависимое состояние вместо того, чтобы постоянно пересчитывать состояния на основе текущего графического конвейера. dzen.ru Это значительно снижает накладные расходы процессора, присутствующие в DirectX 11, и повышает производительность. dzen.ru
- Поддержка многоядерной обработки. www.howtogeek.com DirectX 12 позволяет отправлять одновременные инструкции графическому процессору, что повышает производительность на многоядерных процессорах. www.maketecheasier.com
Однако не во всех играх наблюдается одинаковый уровень повышения производительности при использовании DirectX 12. www.howtogeek.com Это связано с тем, что не каждая игра требует или может использовать предлагаемые DirectX 12 оптимизации на низком уровне. www.howtogeek.com