Вскоре, в этом году, вместе с Windows 7 состоится выход нового графического API — DirectX 11. Разработчики игр смогут достаточно просто улучшить производительность игр, переведя движок своих игр на новый API, который откроет и новые возможности.
Улучшенная многопоточность: +20 % производительностиСтандартный прирост производительности в DirectX 11, благодаря улучшенной поддержке многоядерных процессоров, составит примерно 20 %, однако, в некоторых случаях прирост может достигать даже 50 %. Что еще более интересно: ПО, разработанное с учетом DirectX 11, будет работать быстрее на любых видеокартах, совместимых с Windows 7 и имеющих оптимизированные драйверы. Другими словами, преимущества получат владельцы видеокарт DirectX 9, DirectX 10, DirectX 11.
Пост-обработка: +10 % приростаНе стоит забывать и о вычислительных шейдерах (языке, стандартизирующем вычисления общего назначения средствами видеокарт). С их помощью можно рассчитывать физику, искусственный интеллект или, к примеру, системы частиц. Однако, с точки зрения разработчиков, в первое время их проще всего использовать для пост-обработки: все эффекты этого типа можно перенести на вычислительные шейдеры, что сделает управление потоками данных более эффективным и улучшит производительность.
Такие эффекты как размытие в движении, глубина резкости и прочие сейчас делаются с использованием пиксельных шейдеров. Однако, это не очень эффективно с точки зрения производительности, потому что при таком подходе вычисления все же сильно зависят от конвейера визуализации. Благодаря тому, что вычислительные шейдеры не зависят от конвейера визуализации и требуют куда меньшего объема передачи данных, инструкций чтения текстур и т. д., перевод пост-обработки на них позволит «малой кровью» добиться значительного увеличения производительности, от 10 до 25 %.
Стоит отметить, что вычислительные шейдеры 4.0 и 4.1 уже поддерживаются существующими видеокартами DirectX 10 и DirectX 10.1. Однако, эти версии обладают рядом ограничений, которые не позволят раскрыть потенциал вычислительных шейдеров так же хорошо, как и версия 5.0 (оборудование DirectX 11). Поэтому не стоит ожидать серьезного распространения использования вычислительных шейдеров версии 4.x.
Тесселяция: когда производительность означает качествоТесселяция — это новая технология DirectX 11, которая не призвана улучшить производительность, но при этом позволяет добиваться визуализации высокодетализированных объектов с использованием куда меньших ресурсов, чем при традиционном подходе. То есть, технологию можно использовать как для улучшения графики, так и для более быстрой визуализации: в зависимости от выбора разработчиков.
Для использования этой функции наличие оборудования DirectX 11 обязательно.
В новом графическом API внесено еще множество других, более мелких оптимизаций и функций. Одна из них — сжатие HDR. В новом формате Microsoft, эффекты высокого динамического диапазона занимают вдвое меньше данных, чем прежде, что экономит пропускаю способность и оптимизирует производительность.