Questions tagged [dxgi]

Microsoft DirectX Graphics Infrastructure (DXGI) is often used in combination with Direct3D and is responsible for enumerating graphics adapters and display modes, selecting buffer formats, sharing resources between processes and presenting rendered frames to the monitor.

248 questions
52
votes
2 answers

Enumerating monitors on a computer

I have found 7 different ways to enumerate the monitors attached to the computer. But all solutions give different results (number of the monitors and information on each monitor). These solutions are: Using the famous EnumDisplayDevices Using…
Cédric Bignon
  • 12,892
  • 3
  • 39
  • 51
18
votes
1 answer

Desktop duplication (DirectX) screen capture fails to deliver screen updates

I'm working on an application that would capture the screen through Desktop duplication APIs (using DirectX 11) (only the diff to the previous screen update) and render it on another window (The viewer might be running on another machine connected…
iamrameshkumar
  • 1,328
  • 1
  • 14
  • 34
17
votes
1 answer

Correct way to wait for VBLANK on windows 10 in windowed mode

What is the correct way to wait for VBLANK to present on windows 10 in windowed mode? Currently I'm doing the following: D3DKMTWaitForVerticalBlankEvent(&waitData); swapchain->Present(0, 0); However this leads to occasional stutter. My current…
sudowoodo
  • 473
  • 4
  • 14
14
votes
1 answer

DXGI Desktop Duplication Screen Capture Speed

I am using AcquireNextFrame from the Desktop Duplication API to capture the screen. The refresh rate of the screen is 120Hz. When running a game at 120FPS, the screen capture can capture frames at 120FPS. But when increasing the frame rate of the…
availn
  • 161
  • 1
  • 5
13
votes
3 answers

How to get current display mode (resolution, refresh rate) of a monitor/output in DXGI?

I am creating a multi-monitor full screen DXGI/D3D application. I am enumerating through the available outputs and adapters in preparation of creating their swap chains. When creating my swap chain using DXGI's IDXGIFactory::CreateSwapChain method,…
Allen Pestaluky
  • 3,126
  • 2
  • 20
  • 22
10
votes
1 answer

DXGI Desktop Duplication: encoding frames to send them over the network

I'm trying to write an app which will capture a video stream of the screen and send it to a remote client. I've found out that the best way to capture a screen on Windows is to use DXGI Desktop Duplication API (available since Windows 8). Microsoft…
prazuber
  • 1,352
  • 10
  • 26
8
votes
3 answers

D3D11: How to draw GDI Text to a GXDI Surface? (Without D2D)

I need some help with drawing a text to a texture with GDI and D3D11. I tried using D2D/DirectWrite, but it supports just D3D10 and not D3D11 as I need. Everything I tried failed so far... Now I want to use GDI methodes to write in the texture. So I…
sandicz
  • 326
  • 3
  • 9
8
votes
0 answers

D3D11CreateDeviceAndSwapChain does not swap to full screen on 2nd monitor

The original problem that I ran into, was that I wasn't able to get my game to run in full screen on my 2nd monitor. Going to display settings and swapping main display from 2nd to 1st, lets my game run in full screen without any problems. The…
8
votes
0 answers

Desktop duplication screen capturing - DuplicateOutput returns E_ACCESSDENIED error

I'm capturing the screens using desktop duplication APIs (DirectX11). The DuplicateOutput API returns the access denied error and that too happens very rare(may be 10% of the time) on a windows 8.1 machine on logon screen though my application is…
7
votes
1 answer

DirectX11 with a multiple video adapter (GPU) PC

Usually the DirectX11 initialization starts from creating a DirectX11 device: D3D_DRIVER_TYPE driverTypes[] = { D3D_DRIVER_TYPE_HARDWARE, D3D_DRIVER_TYPE_WARP, D3D_DRIVER_TYPE_REFERENCE, }; UINT nNumDriverTypes =…
Foxy
  • 73
  • 4
7
votes
1 answer

IDXGISurface1 thread-safety/synchronization rules for GetDC/ReleaseDC?

What are the thread-safety rules for IDXGISurface1 GetDC/ReleaseDC for textures created with D3D11_RESOURCE_MISC_GDI_COMPATIBLE? Can I interact with ID3D11Device and ID3D11DeviceContext between GetDC and ReleaseDC on another thread, without…
ronag
  • 49,529
  • 25
  • 126
  • 221
6
votes
1 answer

Programmatically set Graphics Performance for an app

There is an option in Windows control panel that allows to set a app to "high performance". Control Panel -> System -> Display -> Graphics Settings. On adding my application there, I noticed that, when encoding with Media Foundation and H.265 it…
Michael Chourdakis
  • 10,345
  • 3
  • 42
  • 78
6
votes
1 answer

DXGI Waitable SwapChain not waiting

I setup a DX12 application that only clears the backbuffer every frame. It really is barebone : no PSO, no root... The only particularity is that it waits on the swapChain to be done with Present() before starting a new frame (msdn waitable swap…
6
votes
1 answer

Use Desktop Duplication API to capture Logon & Lock Screens

Since Windows 10 doesn't support Mirror drivers, how do I use Desktop Duplication API to capture console at all times i.e. start with logon window, then user's desktop (after the user logs in) and also the lock screen?
tunafish24
  • 2,288
  • 6
  • 28
  • 47
6
votes
3 answers

DirectX11 Swapchain and window losing fullscreen status

I just stumbled on this little annoying behavior, while adding full screen support on a sample program. Creating a full screen window works, but as soon as I move any window (from another application) on the output that contains my fullscreen…
mrvux
  • 8,523
  • 1
  • 27
  • 61
1
2 3
16 17