5

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.

rbrito
  • 2,398
  • 2
  • 21
  • 24
Hrishi
  • 103
  • 1
  • 6
  • The processor in the RPi will take the load, ARM processors don't work in the same way as a x86 chipset will. They don't really heat up as much as you would think. It will take several years at 100% load before you notice anything bad happening. However, in saying that, there's no harm in wanting lower cpu usage, can only be beneficial to you, especially while multitasking. – Impulss Jan 08 '13 at 02:32
  • The thing is I am running Raspbmc with streaming 1080p video over NFS, so the pi is going to be switched on for a very long time. So having the CPU usage near 100% is not something that I would want, and if there is *anything* that can be done to reduce the CPU usage level, I would go for it. But my question was mainly with regard to dirty regions, and it would be good if I could know how to get mode 1 or 2 working successfully. – Hrishi Jan 08 '13 at 18:03

1 Answers1

5

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.

WeAreGeek
  • 51
  • 5
  • 1
    I already came to pretty much the same advancedsettings.xml based on my search, but enabling 'vertical blank sync' is the magic trick and indeed reduces CPU usage to a steady 22% when idle. – Confusion Apr 25 '13 at 19:54
  • I can confirm the same :) would love to know why this magic is the case tho. – the1plummie Dec 31 '13 at 20:02