Ein paar von euch erinnern sich vielleicht noch daran, dass in 2010 topfs2 an einem "XBMC auf Beagle-Boards" gearbeitet hat.
Durch die extrem schwache Hardware wurde eine Menge Optimierungen fällig.
Eine davon ist das "dirty region rendering"...
Dirty Region Rendering:
Auf diesem Bild wurde eine Wechsel vom "Browse"-Button zum "Add"-Button ausgeführt.
XBMC Render-Engine schiebt munter den gesamten Frame bei einer Auflösung von 1920x1080 30x in der Sekunde in die GPU, um diese kleine Animation darzustellen.
Genau genommen wird jeder Pixel mehrfach gerendert, da es ja diverse Layer in einem Skin zu verarbeiten gibt. Transluzenz haut dann noch mal ordentlich was drauf.
In diesem Beispiel wird jedes Pixel 4x gerendert. Das macht dann rund 1GB(!) an Daten für eine Animation, die 0,5 Sekunden lang ist.
Und, nicht vergessen, nach der Animation wird diese Menge durchgehend weiter geschaufelt, da es ja keine statische Oberfläche ist.
Und da kommen die dirty-regions in Spiel. Hier wird nur gerendert, was auch verändert wurde. Ähnlich einer guten Videocodierung.
Somit wird nur der anmierte Bereich verarbeitet. Das macht dann in der Summe: 16MB. Bei einem Standbild ist es 0-komma-nix.
Interesse?
Es wird ein extrem aktuelles XBMC benötigt. "Bleeding Edge".
Einen Eintrag in der [definition='2','1']advancedsettings[/definition].xml.
Und wenn ihr sehen wollt, an welcher Stelle gerade gerendert wird, muss der Eintrag
<visualizedirtyregions>
auf "true" gesetzt werden.
P.S.:
Ein user meldet, dass die CPU-Last jetzt beim navigieren geringer ist als bei Standbildern
Zitatweird, the cpu usage is actually less when moving in the gui then when idle:ing...