-
Notifications
You must be signed in to change notification settings - Fork 105
Description
Hi,
Frame updates (OnFrameArrived) is not being triggered in some circumstances, depending on the application you are running and their window positions.
This is a scenario we are hitting with our screen magnifier, but you can replicate it using just the sample capture application.
When you have a window with exclude capture set, the capture API will return all other windows as if it didn't exist. this seem to work correctly. However, for some of these windows, if rendering occurs and the window is completely covered by the excluded capture window, no frame updates occur. (OnFrameArrived does not get called).
The scenario where this is failing includes Microsoft Word, and Microsoft Edge, where you might be editing with a flashing cursor or a dynamically changing website. Microsoft Word is more difficult to replicate because Word stops flashing when it looses focus, but you can replicate in Edge with a simple website with continually updating content.
This is impacting our screen magnifier, because it has an on-top window that is excluded from capture. Our on-top window also has WS_EX_TRANSPARENT set so the focus can remain in the app. The problem then manifests itself with general app usage instead of just backgraound updates.
Steps to replicate:
Use latest Windows 11. I have 25H2 26200.7623 with lastest windows updates installed.
Open Microsoft Edge and go to https://digitalclock.org/ which has a ticking clock (or any website that has continual updates).
Resize the Edge windows so it is failry small, not touching the side of the desktop and you can see the continual screen updates.
Run the win32capturesample.
Choose a display.
Turn on "exclude this window".
Move/Resize the capture sample app so that it completely covers up the Edge Windows with the ticking clock.
Observe that capture updates stop.
You can also replicate if you maximize both Edge and win32capturesample.
This used to work fine until recently. We believe the problem started after a recent windows update, although we don't yet know which specific update has introduced the issue.
We also have a 24H2 machine with the same problem, but again you have to have the latest set of windows updates for it to go wrong.
Note that if you have other applications running that are also doing continual screen updates, even if it's just a system tray icon, this may prevent you from replicating. Ideally test on a clean install of Windows 11.
The problem affects Microsoft Edge and Microsoft Office apps (and probably many others). However, it does not seem to affect TaskManager or the Windows 11 clock app which also update continually.
Best Regards,
Mike.