Skip to content

Dirty Region issues with Windows 11 25H2 #101

@mikeh926

Description

@mikeh926

Hi,
We are experiencing a strange problem that has started occuring after upgrading to 25H2 with our Screen Magnifier.

When the DirtyRegionMode is set to ReportAndRender, the list of damage rects intermitantly does not contain all of the screen damage. After debugging and careful examination of the list of rectangles returned, I can see that the screen damage rectangle list being returned with every captured frame is missing some updated areas, some of the time. It's possible that it's also not rendering all the damage either, but I haven't confirmed this. It doesn't seem to affect every machine so I suspect it is timing related, but 13th and 14th Gen Intel CPU's with the onboard UHD 770 GPU are notably problamatic. We have one unconfirmed report with a Nivida GPU.

To go wrong, the following conditions need to be true:

  1. There is a (fullscreen?) window over the top of everything that is WS_EX_TOPMOST | WS_EX_LAYERED | WS_EX_TRANSPARENT which is also excluded from the capture. (This window is where we display our magnifier output).
  2. You have Windows 11 25H2. Previous versions of Windows 11 do not exhibit the problem.
  3. DirtyRegionMode() is ReportAndRender.
  4. Your graphics driver is not the latest version. It goes wrong with the latest from Windows Update, but if you install the latest from intel's website, the issue seems to go away.
  5. You have reduced the capture frequency by calling MinUpdateInterval() with non-zero. The slower the capture frequency, the easier it is to replicate.

You can't replicate the problem using your example app, without making some changes. I modifed the app so that when in ReportAndRender mode it did not clear the entire viewport and only presented the damaged region (which will copy the undamaged from the front buffer) and then put a transparent window on top of everthing.

Do you have any idea what might be causing this? What changed in 25H2 that could affect the damage rects? Is there some compatibility problem with older graphics drivers and 25H2?

Thanks,
Mike.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions