HOW-TO:Modify dirty regions
|advancedsettings.xml||HOW-TO:Modify dirty regions|
Dirty regions is an advanced setting and interface rendering method that can help speed up the GUI in XBMC and decrease the demand on your CPU and GPU. Dirty regions has no effect during video playback unless there are GUI elements (on screen buttons) visible. Using dirty regions requires XBMC v11 (Eden) or higher.
If you don't already have an advancedsettings.xml file, it's very simple to make. XBMC uses this file for advanced settings and features that normal users shouldn't modify without first knowing what they do, as well as for experimental features.
|1||Create a plain text file (no rich text formatting, don't use .doc, etc) and save it as advancedsettings.xml. Make sure that the file extension is ".xml" and not ".txt" or ".xml.txt".|
|2|| Cut and paste this into your new plain text file:
|3||Change the values between the tags to fit your situation. See #Settings explained for details.|
|4|| Save this file in your userdata folder:
2 Settings explained
|advancedsettings.xml tag||what it does|
|| Dirty regions mode
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn't changed the GUI can be sped up. Because all GPUs work differently, only Mode 3, combined with nofliptimeout=0, is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.
|| No flip timeout
Specifies the timeout in milliseconds after which XBMC/Kodi will not flip the graphics buffers anymore when nothing has been rendered, this lowers both CPU and GPU usage. Sometimes adjusting this value can help prevent flickering.
|| Visualized dirty regions
Enable dirty-region visualization. Paints a rectangle over marked controls.
3.1 Example 1
XBMC started as a project for the original XBOX where things were very different. After the move to desktops and embedded environments, many of the legacy procedures remained. One of these procedures, and a long-time thorn in XBMC’s side has long been its rendering model in which where every frame is rendered by the GPU in its entirety, typically at 60fps. As you can imagine, this is incredibly intensive and very unfriendly to low-power platforms. This is where dirty-region rendering comes in. Thanks to the work of Tobias and Jonathan (jmarshall), XBMC now has the ability to only render what has changed.
For more information see: Working with dirty regions