Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix an issue that DirtyRects are full region every frame. #16849

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

walterlv
Copy link
Contributor

@walterlv walterlv commented Aug 29, 2024

What does the pull request do?

This PR #14924 add a field _fullRedrawRequested to force the dirty rects to be ignored and redraw the whole window. After that, the rendering performance becomes poor. By the test on my machine, the fps drops from 45 to 30.

I can't figure out why this field is introduced. There is no description about this field in the PR !14924 nor in the comments. So I'm trying to remove the assignment and fix the dirty rects.

The previous PR:

What is the current behavior?

See this video below to view the dirty rect changes before and after this PR.

What is the updated/expected behavior with this PR?

DirtyRectsAlwaysFull.mp4

How was the solution implemented (if it's not obvious)?

Remove the assignment of the _fullRedrawRequested field.

Checklist

Breaking changes

To be discussed.

Obsoletions / Deprecations

Fixed issues

@avaloniaui-bot
Copy link

You can test this PR using the following package version. 11.2.999-cibuild0051545-alpha. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

@walterlv
Copy link
Contributor Author

walterlv commented Sep 5, 2024

We have tested the changes in this PR for a period of time, and in some cases, the window content does not render at all. The issue only resolves after resizing the window or opening a new window. It has been confirmed that this PR is causing the issue, so I am currently investigating the root cause.

In any case, I hope to enhance rendering performance as much as possible without introducing rendering defects.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants