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


Метод IDXGIOutputDuplication::ReleaseFrame (dxgi1_2.h)

Указывает, что приложение завершило обработку кадра.

Синтаксис

HRESULT ReleaseFrame();

Возвращаемое значение

ReleaseFrame возвращает:

  • S_OK, если она успешно завершена.
  • DXGI_ERROR_INVALID_CALL, если приложение уже выпустило кадр.
  • DXGI_ERROR_ACCESS_LOST, если интерфейс дублирования рабочего стола недопустим. Интерфейс дублирования рабочего стола обычно становится недопустимым при отображении на рабочем столе другого типа изображения. Примеры такой ситуации:
    • Переключатель рабочего стола
    • Изменение режима
    • Включение, отключение DWM или другое полноэкранное приложение
    В этом случае приложение должно освободить интерфейс IDXGIOutputDuplication и создать новую idXGIOutputDuplication для нового содержимого.
  • Возможно, другие коды ошибок, описанные в разделе DXGI_ERROR .

Комментарии

Приложение должно освободить кадр перед получением следующего кадра. После освобождения кадра поверхность, содержащая растровое изображение рабочего стола, становится недопустимой; Вы не сможете использовать поверхность в графической операции DirectX.

Из соображений производительности рекомендуется освободить кадр непосредственно перед вызовом метода IDXGIOutputDuplication::AcquireNextFrame для получения следующего кадра. Если клиент не владеет кадром, операционная система копирует все обновления рабочего стола на поверхность. Это может привести к впустую циклов GPU, если операционная система обновляет одну и ту же область для каждого кадра, который происходит. Когда клиент получает кадр, клиент знает только об окончательном обновлении в этом регионе; Поэтому все перекрывающиеся обновления во время предыдущих кадров будут потрачены впустую. Когда клиент получает кадр, клиент владеет поверхностью; Таким образом, операционная система может отслеживать только обновленные регионы и не может копировать обновления рабочего стола на поверхность. Из-за этого рекомендуется свести к минимуму время между вызовом освобождения текущего кадра и вызовом для получения следующего кадра.

Требования

   
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header dxgi1_2.h
Библиотека Dxgi.lib

См. также раздел

IDXGIOutputDuplication