Slow playback in high resolution.
#16
rodalpho Wrote:Is this 2.1a1? Please post debug logs for the devs if so.

No i'm sorry, it was the latest svn from yesterday (But the problem is the same on builds a few weeks older as well).

All DivX movies seem to work fine.
Most 720 mkv work fine tough Some 16:9 fullscreen are out of sync.
DVD images and some .avi movies recorded from digital camera are out of sync.

When playing the problematic movies the FPS section reports a steady 20fps, when i make the video playback window smaller it speeds up the video until it is in sync with audio and goes up to 30fps or whatever framerate the movie is.

To get the fps up and video/audio in sync i can either resize the entire xbmc window to like 640x480 or similar small size, or use the function that puts the playback in that small box in the down left corner (Blue button (X) on xbox controller i think).


I Have a new log here. Simply playing a dvd image of the movie Surfs Up. When playing in fullscreen it reports 20fps and audio/video if out of sync (Audio is ahead of video). As soon as i either rezise xbmc to a smaller window like 640x480 or similar or press the blue (X) button to make it play in that small window video speeds up until it is at sync with audio and then it plays fine (and reports 30fps) until i try to make it bigger then it looses sync again.
http://pastebin.com/m36cd5290
Reply
#17
I have the same issue (also with the svn build from yesterday). I've only just started playing with XBMC linux, so I can't say whether the same issue occurred previously. But I have the same symptoms: audio ahead of the video (by a few seconds) when running in a high resolution. CPU usage is low (~20-40% on each core). It occurs when watching DVDs and also downloaded movies (mpeg4 format). Happens whether I use analog audio or digital passthrough. Happens both with and without "UseEvents" enabled in xorg.conf (I tried that since it had once fixed some issues I had with MythTV and high-res playback).

As ldt0 reported, the issues go away if I run at, say, 480p. Hardware is an Abit AN-M2HD motherboard with integrated GeForce 7 Series graphics. CPU is AMD Athlon 64 X2 4000+. 1 GB RAM. I can post debug logs if more logs would help.
Reply
#18
Just to add to my experiences with this issue. The 20 FPS comment is right on. This seems to be the maximum fps, even when I explicitly set it to 1080p @ 60 Hz. Even sitting in the interface, the fps caps out at 20. Whereas with 480p, it caps at 60. Interestingly, at 720p, it caps at 30 fps (so I don't have sync issues with 24fps DVDs at 720p, but do at 1080p).
Reply
#19
Also, enabling / disabling vsync has no effect. Okay, I'll stop now Smile
Reply
#20
One more update. I said that vblank had no effect, but was perusing the code and noticed the following in Application.cpp:

Code:
#ifdef _LINUX
  // for nvidia cards - vsync currently ALWAYS enabled.
  // the reason is that after screen has been setup changing this env var will make no difference.
  setenv("__GL_SYNC_TO_VBLANK","1",true);
#endif

If I change that to "0", then video and audio stay synched at 1080p (although the video tears due to no vsync). The fps reported when sitting at a menu is still not 60 though. It's only 30. Which is odd because the refresh rate of the display (and LCD TV) is 60. Something funny seems to be going on with refresh rates.
Reply
#21
Well, i'm glad i'm not the only one with this problem :-) Hopefully there will be a sollution soon. In case any of the devs are interested i'll post my complete system specs. It's a Dell 8300 with Nvidia FX 5200 AGP 1,5GB RAM, P4HT 3Ghz running Ubuntu 7.10 with the drivers installed from the restricted drivers manager.

To StuLove: Are you having problems with all movies or just some and what video driver are you using? I seem to be able to play some files fine, i think most DivXs play fine and i have for example Casino Royale and Beowulf in 720p/mkv and they seem to work fine and reporting round 25fps.
Reply
#22
A Possible Fix:

I've noticed that most of you guys are using an NVIDIA card, I've also had this issue where the GUI wasn't smooth and 720P kept dropping frames on my:
Athlon 64 +3000
Nforce 4 - Geforce 6150

Add the following line to the Geforce device section in your xorg.conf:
Code:
Option "TripleBuffer" "true"

You can read more about it here:
http://us.download.nvidia.com/XFree86/Li...dix-b.html
Reply
#23
I just applied you "fix" and it seems to work! THANK YOU! Hope it fixes your issues as well StuLove.
Reply
#24
I tried it as well and it has improved things a lot. Still get out-of-sync but much better. Still, mplayer worked fine even without this "fix" playing the same files..
Reply
#25
cejstrup Wrote:I tried it as well and it has improved things a lot. Still get out-of-sync but much better. Still, mplayer worked fine even without this "fix" playing the same files..

mplayer probably isn't set to use opengl rendering
Reply
#26
Enabling triple buffering did help. With triple buffering, 24 fps DVDs play fine, but I still see problems with 30fps recorded TV shows (mpeg2 format). These start off synced, but then the video slowly gets farther and farther behind the audio. And it's not a CPU performance issue because it happens on SD recordings as well as HD (cpu usage on each core is < 25%).

Since you suggested it, I did try playing the same file in mplayer with OpenGL output (-vo gl). There were no audio sync issues there.
Reply
#27
Did some more experimenting. Installed xbmc on two other machines. One with an ATI x1950pro and one with an NVIDIA 7600GT. Worked great on both (although I couldn't find a way to get vsync to work on the ATI).

It seems that all of us who have experienced this problem either have on-board GPUs or AGP GPUs. It would be interesting to know if anyone has an on-board NVIDIA card that doesn't exhibit this problem. Or, conversely, if anyone has a PCI Express card that DOES have the problem.

I'd be happy to take a look at the code and see if I can track down the problem. But I would need one of the developers to point me in the right direction.
Reply
#28
Jezz_X Wrote:mplayer probably isn't set to use opengl rendering

That's correct. It's using XV. If I try and set mplayer to use the 'gl' driver it turns into a slideshow. If I use the 'gl2' driver it works fine.

Can I make xbmc use XV as well ? Or maybe have it use mplayer as player ? I tried editing the external player setting ,but doesn't seem to change anything so I guess it's not used

Here's my setup:

Nvidia GF 7100GS
Intel E6550 core 2 duo
Reply
#29
Is there anything else I can do to help fix this? I let xbmc sit in the menu and ran sysprof to see if there was any noticeable difference between the 7050-based board (which caps out at 20 fps in the menus) and my other NVIDIA-based machine (which caps out at 60 fps). I didn't notice anything, but the profile data is available here if anyone wants to take a look:

http://www.cs.cmu.edu/~smagill/temp/xbmc_prof.gz
Reply
#30
Thumbs Up 
Duduke Wrote:A Possible Fix:

I've noticed that most of you guys are using an NVIDIA card, I've also had this issue where the GUI wasn't smooth and 720P kept dropping frames on my:
Athlon 64 +3000
Nforce 4 - Geforce 6150

Add the following line to the Geforce device section in your xorg.conf:
Code:
Option "TripleBuffer" "true"

You can read more about it here:
http://us.download.nvidia.com/XFree86/Li...dix-b.html

Worked for me, thanks. Big Grin
Reply

Logout Mark Read Team Forum Stats Members Help
Slow playback in high resolution.0