Компания Microsoft анонсировала новую функцию Shader Execution Reordering (SER) для трассировки лучей в DirectX, опубликованную в блоге разработчиков. SER является дополнением к DirectX Raytracing (DXR) и помогает оптимизировать нагрузку на графический процессор, обеспечивая более эффективное выполнение шейдеров. Это достигается благодаря возможности шейдерного кода сообщать аппаратному обеспечению о порядке выполнения лучей, что позволяет GPU сортировать задачи.

Microsoft утверждает, что SER решает проблемы, связанные с расхождением выполнения шейдеров и доступом к данным в приложениях DXR. Новая функция добавляет в HLSL примитивы, позволяющие изменять порядок операций в зависимости от требований приложения, что положительно сказывается на производительности.

SER является обязательной для Shader Model 6.9, и его поддержка зависит от аппаратной базы графических карт. Microsoft также выпустила демонстрационную версию SER под названием D3D12RaytracingHelloShaderExecutionReordering, которая показывает, как SER может улучшить производительность. В тестах на графических процессорах NVIDIA и Intel зафиксированы значительные увеличения частоты кадров, что говорит о значительном потенциале SER для повышения эффективности DXR-приложений.