Поделиться через


Улучшения DXGI 1.3

В Microsoft DirectX Graphics Infrastructure (DXGI) 1.3 добавлена следующая функция, которая включается начиная с Windows 8.1.

Обрезать использование памяти адаптера DXGI

Начиная с Windows 8.1, DXGI 1.3 добавляет возможность очистки и выпуска неиспользуемых ресурсов памяти, выделенных адаптером DXGI. Это позволяет приложениям освобождать временную память во время приостановки, уменьшая вероятность того, что приложение будет завершено до освобождения ресурсов для других приложений. Когда приложение возобновляется, драйверы устройств, поддерживающие обрезку, будут воссоздать ресурсы по мере их необходимости. По состоянию на Windows 8.1 все устройства Direct3D, созданные приложением, должны вызывать IDXGIDevice3::Trim при приостановке, чтобы сократить объем памяти и уменьшить вероятность того, что приложение будет завершено для освобождения системных ресурсов.

Многоуровневые наложения

Начиная с Windows 8.1, DXGI 1.3 поддерживает многоуровневые наложения. Вы можете узнать, поддерживает ли устройство многоуровневые наложения в оборудовании с помощью IDXGIOutput2::SupportsOverlays.

Перекрытие цепочек буферов и масштабирование цепочки буферов

Начиная с Windows 8.1, DXGI 1.3 поддерживает перекрывающиеся цепочки буферов. Перекрывающиеся цепочки буферов используются для рисования трехмерной графики в неродных разрешениях (с аппаратным ускорением) при представлении пользовательского интерфейса в собственном разрешении. Это позволяет играм использовать более высокие показатели заливки для адаптивного игрового процесса без снижения качества визуального элемента пользовательского интерфейса, таких как оценка игрока и текст диалогового окна. На устройствах, поддерживающих многоуровневые наложения, Direct3D будет использовать многоуровневые наложения для перекрывающихся цепочек буферов. Создайте цепочку буферов переднего плана, указав флаг DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER при создании цепочки буферов и используя IDXGISwapChain2::SetMatrixTransform и IDXGISwapChain2::GetMatrixTransform для масштабирования цепочки буферов, используемой для игрового процесса.

Выбор backbuffer для цепочки буферов

Начиная с Windows 8.1, DXGI 1.3 можно использовать для выбора буфера для использования с цепочкой буферов, что позволяет отрисовки в меньший буфер без повторного создания цепочки буферов. См. раздел IDXGISwapChain2::SetSourceSize и IDXGISwapChain2::GetSourceSize.

Презентация цепочки буферов с низкой задержкой

Начиная с Windows 8.1, DXGI 1.3 позволяет уменьшить задержку, позволяя цепочке буферов завершить представление предыдущего кадра перед началом использования устройства для рисования следующего кадра. См. раздел IDXGISwapChain2::GetFrameLatencyWaitableObject, IDXGISwapChain2::GetMaximumFrameLatency и IDXGISwapChain2::SetMaximumFrameLatency.

Руководство по программированию для DXGI