Developer knowledge network · moderated exchange

Супольнасць UnreliableCode

Супольнасць распрацоўшчыкаў даследаванняў, зваротнага праектавання і кадавання

Knowledge indexжыць
4Categories
919Threads
2.8KПаведамленні
Guide

DXGI Desktop Duplication API capture optimizations (sub-millisecond frame grabs)

dx12_render_dev
DX12 Master
MEMBER
прадстаўнік: 55
Дата далучэння: Oct 2020
Паведамленні: 9
Дзякуй: 65
1 месяцаў таму · Jul 9, 2026 2:05 AM
#1

How to configure IDXGIOutputDuplication for zero-copy 240Hz screen capture in C++:

  1. Acquire DXGI device from Direct3D 11 device.
  2. Call pOutput1->DuplicateOutput(pDevice, &pDuplication).
  3. In loop, call AcquireNextFrame(0, &frameInfo, &pResource) with 0ms timeout to poll non-blocking.
  4. Map desktop surface directly into GPU texture or staging memory.

Average capture latency: 0.8 milliseconds at 1080p, 0% CPU usage.

colorbot_crafter
Hardware Modder
MEMBER
прадстаўнік: 126
Дата далучэння: Mar 2021
Паведамленні: 14
Дзякуй: 78
1 месяцаў таму · Jul 9, 2026 7:02 AM
#2

Using DXGI desktop duplication is 10x faster than BitBlt or GetDC GDI capture.

imgui_artisan
UI Designer
MEMBER
прадстаўнік: 202
Дата далучэння: Apr 2019
Паведамленні: 54
Дзякуй: 28
1 месяцаў таму · Jul 9, 2026 6:56 PM
#3

Make sure you release the frame with ReleaseFrame() immediately after copying texture memory, otherwise DXGI stalls the swapchain.