Is Smart Redraw activated by default (re: dirtyregions, subtitles, idle temps)


I am currently experimenting with the old dirty region (DR) settings and the new smart redraw (SR) option in advanced settings because I can‘t solve the subtitle issues (some frame drops) a 100%. Well I can actually with DR = 0 but idle temps skyrocket from 61 degrees to 78 degrees because the Vero 4k continues rendering in idle if I disable DR with the 0 setting.

Now I can‘t find any clarification what disabling DR means for the SR option, which is meant as a successor to DR. If I disable DR in advanced settings, it seems that SR then also does not work because of mentioned high idle temps.

The question is, what is active if I have nothing at all in the advanced settings, Idle temps then drop to a respectable 61 degrees. Is that the result of the old default of DR = 3 or is SR active by default with nothing in advanced settings? Or is it a combination of both?

If I add smart redraw = true in advanced settings (without adding any DR setting), I get comparably low idle temp. But it really is not clear to me this then mean regarding dirtyregions.

Puttings both, DR = 0 and SR = true in advanced settings results in high idle temps. In other words, SR has no effect… which is kinda odd because DR=0 should disable DR and make room for SR. It is like the second line regarding SR doesn‘t even get recognized.

So long story short, what are the default settings in osmc especially for the Vero 4k when there is nothing in advanced settings? What is enabled/disabled regarding DR and SR?

The reason behind all this is not only idle temps but subtitle rendering. Only with DR = 0 it is flawless without frame drops… but I can‘t get the idle temps down again, no matter what I add or not add regarding Smart Redraw when DR = 0 is active. SR = true seems to be a bit better than nothing at all in advanced settings but it is definately not perfect with subs.

Any clarification on what is enabled by default (e.g. empty advanced settings) would at least help to narrow down the issue.

What I need is getting rid of dirty regions completely (just go to hell, lol) but have smart redraw active in idle. I don‘t mind the Vero 4k hitting higher temps when watching a video because I never do that for more than 2 hours straight… but having idle temps just barely below usuage temps is not acceptable for me.

Thanks in advance for an help or info

<?xml version="1.0" encoding="UTF-8"?>
  <!-- Do not modify! These are OSMC Optimised Settings for your device  !-->
  <!-- If you wish to override any of these values, then create a file in /home/osmc/.kodi/userdata/advancedsettings.xml !-->
  <!-- It will override these settings, and your settings will be preserved across OSMC updates !-->
<cputempcommand>/bin/sed -e 's/\([0-9]*\)[0-9]\{3\}.*/\1 C/' /sys/class/thermal/thermal_zone0/temp</cputempcommand>
<gputempcommand>/bin/sed -e 's/\([0-9]*\)[0-9]\{3\}.*/\1 C/' /sys/class/thermal/thermal_zone0/temp</gputempcommand>

Thanks Sam for answering

So Smart Redraw is active by default. That would explain low idle temps by default.

But could it be that Smart Redraw only applies to idle state and/or menus and has nothing to do with playback? Because it sure seems like Dirty Regions is still active on playback… there is a noticable positive effect regarding subtitles if I disable DR manually with DR=0 in advanced settings.

This would be all fine and dandy but disabling DR also seems to override SR, i.e. disabling it.

In know this strays away from osmc/vero specifically but I would welcome if you find time to look into it.

Thanks :slight_smile:

It would be good if others could confirm if this resolves the problem before investigating further

All people need to do is add following to the advancedsettings.xml and compare idle temps with or without it:

But with a 0 instead of the 3 is in the link.

0 disables dirtyregions. Which should not affect Smart Redraw, since Smart Redraw is meant to succeed Dirty Regions, so if anything Dirty Regions = 0 should help.

But this settings skyrockets idle temps, which is probably an indication that not only the old dirty regions is disabled but smart redraw as well.

And currently Dirty Regions = 0 is the only thing that significantly improves subtitle performance for many users, preventing frame drops when subtitles are rendered.

Restart/Reboot of the system is required, forgot to mention that

Just to be more precise here… These “frame drops” I can see as well, but they’re not frame drops or actual frame skips when it comes the video player debug overlay or the debug logs. E.g. with external SRT subtitles, these short stutters are not reflected in the debug overlay at all which makes it quite hard to nail down the issue. It purely comes down to seeing them. And this is not trivial with all titles either… With some PGS subtitles you can only see it once or twice during the whole movie, with other samples it can be seen with every single subtitle image being shown. The same applies to SRT subtitles. With some, the stutter shows with every single line of text, with others it’s a lot more rare.

Yes those slight frame drops are only seen by the eye. No log ever caught that, We actually had a long topic about that. And the only thing that really helps minimize or even solve the problem is setting dirty regions to 0, which disables it. Makes sense since the whole screen is always rendered, the appearence of subtitles would then be nothing else than anything else that would appear within the content on the screen.

The consequences of that were also known in that regard, that even in idle there would be constant rendering, higher load and higher temps.

That is where smart redraw was supposed to come in by succeeding dirty regions, However, dirty regions still seems to be around for playback, otherwise dirty region 0 in advanced settings would have no effect… and certainly would not create those high idle temps because that is where the new smart redraw comes into play right?

So my conclusion is, that either there is a bug that disables smart redraw if you disable dirty regions manually… or that smart redraw is actually still „kind of“ depending on dirty regions and therefore would also not work if dirty regions is disabled.

Since we had some threads about subtitle performance, the issue always coming up here and then and it being so closely related to rendering, I though this might be worth investigating.

Absolutely worth investigating. Will test your approach myself as soon as I’ve got time for it.

Wanted to make this point clear though so we don’t have to discuss about the issue not being visible with other users again… If you don’t see the issue with current settings, then it won’t help to test this very much in the first place (except maybe for regressions). :wink:

This might also be related to the CPU governor and it not reacting in time. Disabling DRR simply keeps us at higher clocks for longer…

Tested this with the sample here that shows the issue most prominently (complex PGS subtitles) - a UHD Avatar clip - and the issue persists. Will test with SRT subtitles as well.

Well I used an empty advanced settings for the past 1.5 years and the subtitles were the only real issue I ever had with the Vero 4k. Others had the same issue here:

It never really resolved until I added the dirtyregions 0 setting in late August. And I saw on other forums, that this was the only workaround that anyone could find.

So I used that the last two weeks and was impressed by the much better subtitle performance. However I then noticed the significantly higher idle temp. Which is per se also not surprising because that is what should happen with no dirtyregions… however since Leia we have smart redraw and the question came up why it seems to be not working with dirtyregions diabled… or why the disabling dirtyregions still has an effect and is not really retired?

In other words: the whole thing is new and a total black box and the solutions I found have downsides. I wanted to post it here first because I know you guys would listen and maybe also have the knowledge or the onnections to investigate.

Well I only use SRT and the issue is most prominent in two cases:

  1. Subtitles rendered for the first time
  2. Subtitles rendrered after a longer pause with no dialogue

The issue is quite non existing with continious dialogue.

With dirty regions disabled, I don‘t have the issue anymore at all.

Here some extra reference:

Look at Post #14 for the symptoms, it is 100% the same for me and my Vero 4k

And Post #22 that really only disabling dirty regions is a solution… also mentions smart redraw doing nothing for him when dirty regions is disabled.

Anyway regardless of the issue being 10 months old, it still persists without mentioned dirty regions workaround and the higher idle temps.

I know it is more a Kodi thing than an osmc thing (since users of libreelec, corelec etc have the same problem) but truth is, subtitle users seem to be a minority and have not much of an lobby and the issue always seem to end nowhere when asked on the Kodi forum by a simple user.

If you can replicate the problem, I would appreciate if you may investigate because I think you have a better connection than my lowely ass, lol :smiley:

Other question: Is an idle temp of 79 degrees acceptable in your eyes? Things have cooled down in Germany alot, room temperature is just 21 degrees but it was 30+ just a month ago and that would easily push the idle temp past 85 degrees in the summer. With nothing in advanced settings and smart redraw being by default active in osmc, idle temps are around 60 degrees. I have the most basic Kodi setup, Estuary skin and only use it to play my files via synology nas… not a single fancy addon is installed… so itvreally is only the disabled dirty regions and somehow then also not working smart redraw pushing the idle temps that high.

We are only having that default on the Vero, correct?

With those test files I can indeed see an improvement - the 23.976fps file shows one stutter when when the activated SRT subtitle shows up the first time. It doesn’t stutter with DR disabled.

The approach doesn’t help with 4K PGS subtitles like with our Avatar sample though.

I never use PSG… I even quickly download STR when the file only has PSG. So I really can only speak for SRT and as you found out, disabling dirty regions helps.

So with that established, please have a look what this change does otherwise, especially since on my Vero 4k I then notice mentioned huge spike in idle temps. That kind if points towards smart redraw being affected.

The question is, can one have dirtyregions disabled and still have acceptable idle temps. That is the mentioned black box that smart redraw is for me, I have no clue how it relates to dirtyregions or if it is even dependend on it.

On my backup box (Mecool M8s Pro+, also s905x with 2/16) running coreelec, I witness less of a spike in temps with dirtyregions disabled… though the comparison is not really great because it is obviously a different (thermal) design. But I thought it might be worth noting.

I run a Vero4k (not plus) and probably 80% of the content I watch has subtitles. I certainly haven’t noticed any frame drops, skips or otherwise anything untoward …

Most of it is 480p, 570p or 720p if that makes a difference.

I don‘t think the Vero 4k has a problem on lower resolutions. I have not tested such low resolutions but the problem exists as chillbo has confirmed.

Don‘t get me wrong, it is not a freeze just a slight frame drop. And it also only happens when 1) subtitles are rendered for the first time or 2) after a longer pause if subtitles (no dialogue for some time). The frame drop feels kind of like the old issue with 24p when there was one frame dropped every 41 seconds when a player didn‘t support 23.976fps (remember the old WD TV?). Some people never ever noticed that because it is just one frame, others are highly sensitive to it.

Anyway, the issue is there but the actual question is, what is going on with dirtyregions and smart redraw. As smart redraw is a new Kodi 18 feature, you can‘t find much about it. It is supposed to reduce load and temps in idle but it does not seem to work with dirty regions disabled. At least that is my conclusion when looking at the temps.

I would gladly live with the dirty regions disabled workaround but only the temps in idle are managable.

OK. I’ll keep a lookout anyway …