DXGI and 2+ full-screen displays in Windows 7

I am developing a program that requires two full-screen Direct3D dispatchers. According to the documentation , I have to create swap chains in windowed mode, and then go into full-screen mode. Although this works fine in Windows 8 (currently I just use Alt-Enter to execute this switch), it does not work in Windows 7. In Windows 7, a problem similar to this one occurs when the screen that recently switched to full-screen mode, works fine, but another screen that previously worked just fine in full-screen mode turns black (and remains at the same full-screen resolution) while I take it out of full screen.

You can find my mess of rough prototype in this tag .

Apparently, in the past there were other errors specific to Windows 7 ... But I seem to get a problem that is slightly different.

In addition, I tried disabling DWM Composition, as suggested in the related question, but this did not help solve the problem.

Please let me know if there is any information I can provide regarding the problem ... Probably the worst case scenario is I just lean back on the DX9, which seems to work great for full-screen control of multiple monitors ...

0
source share
1 answer

I think I might have figured out the cause of the problem: perhaps because I was creating multiple ID3D11Device for the same adapter.

My code was too complicated for what I needed, as I followed the methods presented in this article when I really needed nothing more than one thread for all windows and rendering. After sharing the same ID3D10Device for each target Render (one Render Target for each output, one ID3D10Device for each adapter), I successfully received DXGI with DX10 displaying two full-screen displays, as shown in my rough memory leak proof of concept .

Since this was my first experience with any of these technologies, I used this article to help me in this process: Show different images on a directX 10 monitor

0
source

Source: https://habr.com/ru/post/915952/


All Articles