You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
UI (and CaptureScreen internal) display list don't update if windows settings changed.
Steps to reproduce:
Set Windows to Primary display only.
Start artemis.
Create an Ambilight layer and go to their settings UI.
It will show one display adapter and it is ok.
Set Windows Display Settings to extended (with two or more screens).
Go to the recently created Ambilight layer settings UI.
It still will show only one screen and it is Not OK.
Close ambilight settings UI.
Set windows display settings to Secondary only.
Go to the recently created Ambilight layer settings UI.
It will still show one display. If the secondary display has different resolution than primary display, UI will still show primary display resolution.
The above problem happen becase the Factory object used by the ScreenCaptureService has to be created again in every display settings change, otherwise it will report a outdated display config if it changed.
When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the IDXGIFactory1 object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.
UI (and CaptureScreen internal) display list don't update if windows settings changed.
Steps to reproduce:
The above problem happen becase the Factory object used by the ScreenCaptureService has to be created again in every display settings change, otherwise it will report a outdated display config if it changed.
References:
https://docs.microsoft.com/en-us/windows/win32/api/dxgi/nf-dxgi-idxgifactory1-enumadapters1
When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the IDXGIFactory1 object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.
Related to #60
The text was updated successfully, but these errors were encountered: