-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
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
Dont force dirtyRegions on parent controls #12255
Conversation
what exactly does this do. please elaborate. |
Beginning with PR 12213 we transport m_IsControlDirty down to the parents to get an early hint if we have to visit tree nodes in the GUI tree. This change lead to the fact, that DirtyRegions are drawn / recorded for parents of a control wich becomes dirty ( a ListItemLabel e.g.). This was not the fact before the PR 12213. We now have 2 states, 1 saying that the Control is dirty, and one wich say that some of its childs are dirty. The first state is used for displaying DirtyRegions in default DirtyRegion mode, but also used for collecting only DirtyRects of dirty Controls, and not the parents of it. The second state is base of the optimizations in PR 12213. Edit: This is a fix for PR12213 |
we still draw the entire screen if only a single control is dirty? |
@FernetMenta http://kodi.wiki/view/HOW-TO:Modify_dirty_regions |
I know, my question was if this PR would change this. the title "Dont force dirtyRegions on parent controls" kind of suggests this. |
PR 12213 introduced following issues:
Especially the 1. part took already 2 hours discussion. This PR here fixes both issues (You'll see only the dirty rects of the dirty contrl / only the dirty controls dirty-rect is updated if anyone uses dirty-mode != default. |
thanks for clarification |
xbmc/guilib/GUIWindow.cpp
Outdated
@@ -755,7 +752,7 @@ bool CGUIWindow::OnMessage(CGUIMessage& message) | |||
} | |||
} | |||
else if (message.GetParam1() == GUI_MSG_STATE_CHANGED) | |||
m_forceProcess = true; | |||
MarkDirtyRegion(DIRTY_STATE_CHILD); //Dont force an dirtyRect, we don't knw if / what has changed. |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Works as expected now. Thanks! |
thx for the time and looking at it @mkortstiege |
Dont force dirtyRegions on parent controls
Description
Currently we draw visible regions of recursivw parents if a control gets dirty
This PR changes this behaviour (only Control dirty Rect is displayed)
Types of change
@mkortstiege can you pls verify that its working as expected? Thx