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.
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.