Smart Redraw



I have disabled dirty regions using advanced settings as written here:

Still get judder unless I have subs disabled, any tips?


You can try


and see if that helps. Remove the dirtyregions code from you advancedsettings file before adding this.


Terrible. A real degradation of performance, lots of artifacts and mini-lockups as it redraws.



So I’ve been trying this again and I have the following in my advancedsettings file:


There don’t seem to be any artifact issues or slowness, but the CPU has higher utilization even when idle and the idle temps are arounf 65c instead of the usual 50c. Is the higher utilization expected? Even with a black idle screen, the CPU utilization and temps are higher than with dirty regions set to 3.


this will result in the increased temps. Smart Redraw wont incease your temps. And afaik, you have to use on or the other.


Yeah, I thought it was a one or the other situation from the comments previously and so I disabled dirty regions since smart redraw is supposed to do similar but better.

Other than the increased CPU usage and temps during idle, smart redraw looks and performs quite good.


I dont think you’re getting it.

dirtyregions : Increased idle temps, no stutter during playback with subtitles.
smart redraw: Normal idle temps, no stutter during playback with subtitles.

Both are supposed to fix the same problem but have different approaches. Obviously, smartredraw is the preferred method because it doesn’t increase idle temps, but it doesnt fix the subtitle stutter for everyone (doesnt fix for me either) and it causes some UI artifacts here and there, such as frozen progress dialogues and frozen subtitle toggle notifications, to name a few.


Yes, It doesnt fix the subtitle stutter for me either.


It does not fix it for me either, on an S912 box. Neither the dirty regions algorithm.

I am watching everything with subtitles, so it’s something I quite bother. I hope a solution is found for everybody.



On my C2, dirtyregions=3 and smartredraw=false results in lower idle temps (50c) while dirtyregions=0 and smartredraw=true results in higher (65c) idle temps. The latter seems to do better with scrolling news tickers at 1080i, so I’m happy to trade for the higher idle temps. Ideally, smartredraw would result in similar idle temps as dirtyregions=3, but on my C2 it does not.


On my X92_S912 box only “algorithmdirtyregions>0</algorithmdirtyregions” fixes subtitle stutter.
“Smart redrow” does nothing to stutter, but messes up some screens.


Seeing the same temps with dirtyregions=0 and smartredraw not defined on my C2 (65c), so I’m unsure what smartredraw does for cpu utilization. I did notice that the episode list in the myth pvr screen didn’t update when scrolling sometimes with smartredraw=true, so it appears to have been enabled.


You need to completely remove any dirytregions and algorithmdirtyregions entries from your advancedsettings and only add the smartredraw entry.


Ive got good results with smart redraw @Odroid C2 so far (just started to test it). Will test more from user side. Could be polished/improved artifact speaking (in future), but so far nothing horrible, and I really hope this will be way to improve Kodi resource-wise in future…


If there is nothing to set the dirty regions algorithm to 0, does it not default to 3?


smartredraw completely replaces dirty regions. It’s the upcoming system to draw GUI stuff in Kodi. I’m not sure, what happens, if you define options for both systems in your advanced settings, but I assume, it doesn’t use smart redraw at all then.


Can we get some clarification? The documentation says that 3 is the default for dirty regions and that setting it to zero turns “off” dirty regions.


zero is the off setting.



Yep, I think zaphod24 means:
no dirties on .xml.
Want redraw - no dirty should be used. But dirtys default is 3 so he is questioning if there is need to add dirty 0 together with smartredraw true…

Am I correct? Btw, I using smartredraw true without dirty in .xml. Also not sure if I should add dirty 0 to disable them or not :slight_smile:


Yes, that’s exactly my question. Setting dirty to 0 (ie turning it off) and smartredraw to true results in high cpu usage and idle temps ~65c on my C2. If those settings are correct, smartredraw doesn’t seem to do much to lower ARM cpu usage and temps.