No multithreaded Video decoding on XBMC INTREPID version (in-depth testing)

  Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
Hirs Offline
Senior Member
Posts: 100
Joined: Oct 2008
Reputation: 0
Post: #11
theuni Wrote:Could someone running Hardy/Intrepid pastebin their config (and specify which it is)? Could be at /proc/config.gz if the kernel option is set, otherwise somewhere in /boot/config-* or /usr/src/linux/.config if the proper packages are installed.
TheUni

config-2.6.27-9-generic:
http://pastebin.com/m7dade9d9

config-2.6.24-22-generic:
http://pastebin.com/m75560fb

doing a diff config-2.6.27-9-generic config-2.6.24-22-generic|grep CPU|sort the only diference I see is:
< CONFIG_NR_CPUS=64
> CONFIG_NR_CPUS=8
find quote
succo Offline
Fan
Posts: 361
Joined: Mar 2008
Reputation: 0
Location: Taranto, Italy
Post: #12
ok, i think i'm going to confuse a little... i tested with 1080p 57hz and this is what i have as a result

[Image: screenshot009oa1.th.png]

so, as usual, i put back xbmc resolution at 1080i and this is the result

[Image: screenshot010zx1.th.png]

so, 1080p is uneven (the strange thing is that if 'window' xbmc pushing \ it gets even and i have no more dropped frames) while in 1080i it's even
find quote
theuni Offline
Team-XBMC Communication Manager
Posts: 1,088
Joined: Oct 2007
Reputation: 2
Location: Atlanta, Ga, USA
Post: #13
Hirs-

I got a headache trying to parse the diff... it's a big one. Far too much to find the culprit (if there is one).

Are you comfortable building your own? If so, try building the intrepid kernel with the hardy options. To do this, copy the contents of the hardy config to /usr/src/linux/.config. make oldconfig. hit enter to all of the changes, it'll pick the defaults. then make && make modules_install. then copy the bzimage to /boot and modify the menu.lst or grub.conf

There may be a more ubuntu-ish way of doing that, not sure. But the performance of the resulting kernel should narrow down whether it was kernel-code change, or kernel-option change. It would also give us an apples to apples config to diff.

TheUni
find quote
althekiller Offline
Team-XBMC Developer
Posts: 4,701
Joined: May 2004
Reputation: 12
Post: #14
The problem is likely in the code more so than the configuration. Something in process scheduling. The threads are there, but the OS is scheduling them on the same core for some reason. I get balanced decoding until the video hits really high bitrate decoding on killa, I don't have any other samples that exhibit the behavior.
find quote
mr_raider Offline
Member
Posts: 84
Joined: Dec 2008
Reputation: 0
Post: #15
succo Wrote:so, 1080p is uneven (the strange thing is that if 'window' xbmc pushing \ it gets even and i have no more dropped frames) while in 1080i it's even

If look at gnome system monitor, the load is balanced. I think this is just XBMC misreporting the CPU loads.
find quote
BLKMGK Offline
Donor
Posts: 1,634
Joined: Jul 2006
Reputation: 3
Location: USA Virginia
Post: #16
I guess the question is do we drop more frames on same content on 8.1 Intrepid vs earlier 8.04 Hardy?

I have just pulled trigger on the new ASUS board for HDMI output so I'll have something here to test soon enough. I am also taking some BD rips over to the other machine so I can test on it too. If there's anything I can do to help I will be happy to try - not sure I am quite up for kernel recompile though without the EZ-bake version of the directions <sigh>

Ubuntu 10.10, MCE USB receiver, ASROCK 330 (ION), DVDs fed from unRAID cataloged by DVD Profiler. HD-DVD encoding Added DiNovo Mini KBRD w/track
find quote
althekiller Offline
Team-XBMC Developer
Posts: 4,701
Joined: May 2004
Reputation: 12
Post: #17
mr_raider Wrote:If look at gnome system monitor, the load is balanced. I think this is just XBMC misreporting the CPU loads.
We get the loads directly from the OS, so the kernel would have to be lying to us.
BLKMGK Wrote:I guess the question is do we drop more frames on same content on 8.1 Intrepid vs earlier 8.04 Hardy?
Yes.
find quote
alanwww1 Offline
Team-XBMC Member
Posts: 1,299
Joined: Nov 2008
Reputation: 31
Location: Hungary
Post: #18
So it's not the lack of real multithreading the problem, but the worse resource utilization on Intrepid vs. Hardy kernel ?
find quote
alanwww1 Offline
Team-XBMC Member
Posts: 1,299
Joined: Nov 2008
Reputation: 31
Location: Hungary
Post: #19
I tried the latest Jaunty alpha Kernel, with the latest XBMC SVN and...

well not so obviously like with Intrepid but still the performance is a lot worse. A lot of dropped frames with the 1080p content played without a dropped frame on Hardy.

I really can't belive that even with a 3Ghz Core 2 Duo CPU one can not play a 1080p movie without droppped frames, whilest the same movie is perfectly playable on the windows version of XBMC on a 2Ghz CPU with 70% utilization.

If i do the math, i can not come down to any other problem that (whatever the core utilizations show in XBMC) the video decoding is working single threaded on kernels newer than 2.6.24. I still think it is some compile option we need to change for ffmpeg to cope with the new kernels.
find quote
mr_raider Offline
Member
Posts: 84
Joined: Dec 2008
Reputation: 0
Post: #20
Have any of you tried it with the CPU set at full, i.e. Performance mode, or disable Cool N Quiet?
find quote
Post Reply