Dirty Regions on XBMC on Raspberry PI

Hrishi picture Hrishi · Jan 7, 2013 · Viewed 9.6k times · Source

I have a raspberry pi and have loaded the latest standalone from raspbmc.com. When using XBMC, I see that the CPU usage is always above 90%. After looking at the XBMC wiki and FAQs, dirty regions seem to be a popular way to reduce CPU usage.

I created a file advancedsettings.xml in /home/pi/.xbmc/userdata/. The contents of the file are:

<advancedsettings>
 <gui>
   <algorithmdirtyregions>1</algorithmdirtyregions>
 </gui>
</advancedsettings>

I tried modes 1 and 2 of dirty regions as explained in the XBMC wiki, and in both the cases I see that only the region which is dirty is getting displayed whereas the rest is black. The OpenElec wiki says that this is a known issue in builds since August '12.

Now, what can I do to solve/work-around the same? I run HD movies at 1080p, and they work fine. But I am a bit worried about how long the RPi can take such amount of CPU usage, before something critical happens.

Answer

WeAreGeek picture WeAreGeek · Mar 5, 2013

I have been playing around with various configurations in advancedsettings.xml and ended up using the following configuration found at the Arch Linux ARM boards:

<advancedsettings>
    <network>
        <cachemembuffersize>5282880</cachemembuffersize>
    </network>
   <fanartheight>560</fanartheight>
   <thumbsize>256</thumbsize>
   <gui>
       <algorithmdirtyregions>3</algorithmdirtyregions>
       <nofliptimeout>0</nofliptimeout>
   </gui>
   <lookandfeel>
       <enablerssfeeds>false</enablerssfeeds>
   </lookandfeel>
   <bginfoloadermaxthreads>2</bginfoloadermaxthreads>
</advancedsettings>

But still it had a CPU usage of about 80%. It finally dropped to around 20% when I enabled the Vertical blank sync in the Video hardware settings menu.

Also note that some skins can be very resource heavy. I had best results with the default Confluence skin.