У меня есть проект, который снимает скриншоты с помощью API-интерфейса Microsoft Desktop Duplication и обрабатывает их с помощью набора ядер OpenCL в режиме реального времени.
Сам скриншот никогда не передается на хост (процессор). Это консольное приложение.
Я столкнулся с некоторыми проблемами переносимости во время выполнения Nvidia OpenCL.
Результат / снимок экрана Api Microsoft Desktop Duplication использует формат DXGI_FORMAT_B8G8R8A8_UNORM, а реализация Nvidia его не поддерживает.
Поддерживается только DXGI_FORMAT_R8G8B8A8_UNORM.