100% -10 % CPU balance with 1080p content
#1
Question 
My dual core Intel E7200 (2.6Ghz) cpu has one core almost 100% whilest the other core only 10-20% playing back HD content. I have a lot of dropped frames because of this.

With the very same hardware, playing it back with XBMC Live it is 45-45% the core usage with zero dropped frames.

I am really stuck as i tried different Intrepid kernels, the latest nvidia driver, latest alsa driver, with or without powernowd. Stable xbmc release or the latest SVN with the same result.

The CPU can decode the content no problem as it shows in the live version.
What is the difference why i can not use it properly on Intrepid kernel ?

Thanks for any help.

EDIT 29.12.2008:

I tested the things on Ubuntu Hardy full install and here it is all fine !!!! So it looks as a problem of the new Intrepid kernel or the way XBMC is compiled on this new kernel.
Reply
#2
None had such problem ?

It's only me making something wrong ?

I also checked the same hardware under Windows port. It's all fine there 50-50% utilization of the cores.
Reply
#3
xbmc live is just xbmc for linux in a package... you must be doing something wrong at the os level
Reply
#4
We have been playing with the Asus P5N7A which is an onboard 9300 NVIDIA GPU. I was seeing the same issues high cpu usage and dropped frames with HD content.

First we upped the bus speed to 1200 which brings the cpu up to 3.06Ghz this helped some but the real fix came thanks to Harry Z.

I added

"Option" "triplebuffer" to the xorg.conf file and this fixed it for me.

My dropped frames are less than 10 on most hd movies now and I am at around 30-50% on both cores evenly.

Search the forums for Triplebuffer or the like as I am sure there was one more option to add which helped but it escapes me right now.

Harry, maybe you could chime in on this as well.

here is a link to that thread. I thought maybe this should be a sticky.

http://forum.xbmc.org/showthread.php?p=2...post260052

So in your situation, I am thinking maybe something in your xorg file is different between your installs making the difference.



Dave
Reply
#5
Hi

Ive had various playback problems over multiple hardware but adding these lines in xorg.conf solves most.

Code:
Option "UseEvents" "True"
should help utilise the cpu(dual core)

Code:
Option "triplebuffer" "True"

shoulld help with fps problems, although some hardware causes tearing with this enabled.

cheers
Reply
#6
Thanky everyone for the help i will try them.

The triple buffer option is already set in xorg.conf

i have not tried the useevents otion, but it is not in the live xorg.conf eighter
and it works without it.

Maybe it is the kernel the difference ?

It seems something like mplayer is not working multithreaded on my Intrepid version. Maybe i am wrong.

I report back what i found out.
Reply
#7
I cheked both xorg.options you suggested but the utilization of the cpu cores remain very uneven (80-100 against 10-20%)

I tried a completely different setup with a P45 board and a 8600 Nvidia board with the very same bad results.

It seems that the video decoding is only going on one core whilst the other core does some audio decoding and other stuff.

Note that i've only tested Intrepid Ibex as i would like to use the new kernel.
Isn't there some kind of power management or ACPI related package i miss ?

I did a fresh install with Intrepid alternate CD with command line install.
I added packages SSH, ALSA, XORG, NVIDIA-GLX-177 XBMC and i added the xorg.conf magic lines but it is always the samer result.

Anyone having a nearly even CPU Core utilization in Intrepid presson key "O" while playing a HD material ? Now i am desperate that my core 2 duo 7300 is not enough for all content.
Reply
#8
Have you tried 177.82 direct from Nvidia's site?

Dave
Reply
#9
You could try setting the 'noflip' option. This solved my dual-core utilization issue. Maybe it'll help.

From a previous post:

jarvcat Wrote:Just wanted to confirm that disabling flipping worked on my XBMC (nvidia) setup. I no longer have the 100% utilization on one of the cores while paused/idle fullscreen. It's now back under 5% idle and appears normal on video playback.

REF: Added in xorg.conf, device section
Option "NoFlip" "1"

Specs: XBMC Atlantis Beta 2, Nvidia Driver 173.14, Ubuntu 8.04-10, AMD x2 3800+ (S939), Nvidia 8600 GT
Reply
#10
seems like i have the same problem

http://forum.xbmc.org/showthread.php?tid=42721

On my system cpu1 runs @ 100%, cpu2 @ 10%.. I believe its OS related as the same happens when i use multimedia player in ubuntu without xbmc and use system monitor.

I'm looking into why its not balancing the content over the 2 cores - I'll inform you of my progress. Let me know if you come across any further ideas.

cheers
Reply
#11
Hello Adix !

What OS you tried. Mine was on Intrepid.

I think the problem is certainly OS or ffmpeg related and has nothing to do with xorg.conf. My cpu utilization when video is paused is 3-5% evenly balanced. So the unbalanced load comes from decoding the video portion of the stream.

I will test it on Hardy today. The strange thing what i wrote in the first post is that in XBMC Live it works perfectly balanced. But here i don't have HDMI audio.

I also tried the latest Nvidia beta from nvidia site. Same result.
Reply
#12
hi,

I'm using new intel dg45fc board - G45 chipset. so i have to use intrepid - live didn't work but I expected that.

Interestingly i installed mplayer on ubuntu and the cpu utilisation is shared equally between cores for the killa sample (shown by system monitor), but keeps throwing back a "too many video packets in buffer" error.

other messing about has shown a few things but nothing has solved it. i've upgraded drivers (made xbmc unuseable - too jerky).

yes like you said all xorg options have had not effect on xbmc. with mplayer sharing the cpu load fine i thinking it may be pointing towards ffmepg which is compile with xbmc.( some correct if that is stupid thiing to say)

So i'm tempted to compile xbmc from source and see if that does the trick.

keep me informed of your progress

cheers
Reply
#13
I've already tried to compile XBMC from SVN. It has some cool new features (auto adjust refresh rate) but it does the same unbalanced cpu core utilization (at least on intrepid. I will try hardy later).

Maybe there is a configuration option for compile the internal player which could be the cure.

Any Dev has some idea ?
Reply
#14
I believe there is a ticket for this issue...

http://forum.xbmc.org/showthread.php?tid=41422
Link to the ticket is on page 2.
Reply
#15
I found out that on Ubuntu Hardy 804 it is all working fine. The CPU cores share the load 45-45% while playing 1080p content.

So it is eighter Kernel related problem or the way XBMC uses the Interpid kernel.

I will try to use mplayer on both OS and report back if it has the same behaviour or not.

Anyway on Hardy it's ok, on Intrepid it's not working properly. I think we should fill out a ticket.
Reply

Logout Mark Read Team Forum Stats Members Help
100% -10 % CPU balance with 1080p content0