PDA

View Full Version : GUI in 1080p only with 30Hz & frame drops during video playback


mikey79
2009-03-04, 09:48
Dear fellow XBMC users :-)

I apologize very much if I open (yet) another topic about performance problems. I really looked as thoroughly as possible and was not able to be helped with the threads found so far...

My problem is this: I just don't seem to come clear with the resolution settings and the resolution the videos are played with. I want to use 1080p@60Hz, but everytime I choose it and check in the system overview, all I get is 30Hz maximum. Even after video calibration, and changing into windowed mode (which was suggested somewhere else), all I get are 30Hz maximum. If I change to 720p as resolution, all works well so far and XBMX runs with about 70Hz (btw, shouldn't it run constantly with 60Hz then instead of variyng around 70Hz?)

Second problem arises with movies: if the gui is set to 720p all movies are scaled to 720 and output with 50 and/or 60Hz. If I set the resolution in the screen menu to 1080p, all movies are scaled to 1080 and only the SD movies are played with 50Hz. all 720p and 1080p movies are all played with 24p instead of 60Hz. This seems odd to me. Besides the fact, that all movies tend to have a lot of frame dropping. 720p movies scaled to 1080p, show dropped frames, 720p on 720p however, runs smoothly.
Of course my CPU load is uneven and extreme: one core runs @ 100%, the other with about 30%. I guess that this implies the bad video performance. But I am curious: is my system too weak to render the XBMC gui with 60Hz in 1080p? Or this a regular thing? Here, too, one gui shows 100%, the other lies still around 2% usage (only in the gui !!!)

Here are my specs:
- Samsung LCD A656, 46", perfectly capable to display 1080p/24
- Ubuntu 8.10
- AMD X2 5050e
- Mainboard: ASRock K10N78FullHD-hSLI R3.0, with onboard GeForce 8200
- 2GB Ram
- Video over DVI->HDMI, Sound too
- Am using Pulse (and it works ;-))
- nVidia drivers 180.29


Of course I also start XBMC without the "-fs" parameter. Same things here however :-(
Also, I disablede vsync for both video and the gui (and of course restarted XBMC), but still no difference.

Here is my xorg.conf: http://pastebin.com/f5c233757

Here my xrandr output: http://pastebin.com/f712d2b47

And here my guisettings: http://pastebin.com/f4629903f

However, I fear your answer will of course be that the onboard GeForce might be too weak, won't it?

Thans in advance for your help and keep up the good work!

harryzimm
2009-03-04, 14:31
search the forums for "dual channel". You need to run your ram in dual channel mode.

cheers

Edit here is the link http://xbmc.org/forum/showthread.php?t=46082&highlight=dual+channel

mikey79
2009-03-04, 21:07
First, I thought this could not be serious because my experiences with dual channel were rather unspectactular, but because of the referenced thread and the fact that I got onboard graphics I went out and bought a dual channel kit and installed it. Set all up in the BIOS, but XBMC only went up top ~38Hz in the GUI and varies around that value.

Please, any other hints and tips?

Interesting to me though is, that when in fullscreen, one CPU is at 100%, the second at 1%, when I switch into windowed mode, CPU load is even (both at ~30% / 40%) and the gui runs with 90fps. But as soon as I switch back to fullscreen, the same happens as before: 100% on one cpu and 38fps only.


Edit:// Just installed the latest NVidia driver: 180.35. No changes though :-(
Here is my xbox.log, after turning on Debug mode: http://pastebin.com/f200c367a

fultotop
2009-03-04, 22:33
I had a similar problem with my PC running at 99FPS and this was due to the sync-to-vblank setting rate not being loaded on startup.

if you have ticked the sync-to-vblank in the opengl settings in nvidia settings the just open terminal and enter:

nvidia-settings --load-config-only

then launch xbmc and see if it makes any difference.

mikey79
2009-03-04, 23:26
I had a similar problem with my PC running at 99FPS and this was due to the sync-to-vblank setting rate not being loaded on startup.

if you have ticked the sync-to-vblank in the opengl settings in nvidia settings the just open terminal and enter:



then launch xbmc and see if it makes any difference.

nope, makes no difference at all. Anyhow, I don't have the problem that the gui runs too fast (only in windowed mode), but rather too slow (34fps instead of 60fps).

I also updated xbmc to the latest version (pre-9.04) but that also didn't change anything.


EDIT:// ok, I think I found the problem. I compiled xbmc with "--disable-pulse". In this config, xbmc tends to freeze when a video or a stream stops, but here, in fullscreen, I only get ~25% cpu load......so pulse is bugging me now....


EDIT2:// damn, that wasn't the reason. Current state is the following: if I delete my userdata-folder completely, xbmc starts up in windowed mode with 60fps and cpu load at ~20%. Once I change my resolution to 1080p fullscreen and test this new resolution, xbmc changes resolution successfully and still runs with 60Hz and low cpu load. once i quit xbmx and restart it, the gui drops instantly to 30fps and a higher cpu load. I need to delete my userdata folder again in order to achieve 60fps again. This keeps geeting weirder and weirder...

mikey79
2009-03-05, 11:13
hm, ok as it seems I am not the only one with this weird behaviour. I found this thread, which describes this problem resulting from the nvidia onboard graphics:

http://xbmc.org/forum/showpost.php?p=258409&postcount=20

I guess there is no update so far?

fultotop
2009-03-05, 23:00
Does it still happen if you run XBMC in a seperate X session?

mikey79
2009-03-05, 23:49
Does it still happen if you run XBMC in a seperate X session?

What do you mean with a separate X-Session? Restarting X?

cwapface
2009-03-06, 18:02
I'm guessing the onboard geforce 8200 just doesn't have enough horsepower to render at 1080p at 60+hz. I had the same problem with my geforce 7300 - windowed or 720p was fine (or so i thought) at about 30hz, but when I stepped it up one cpu went to 100% and it dropped to 17hz. Try dropping in an 8600 and see if it solves your problem.

spiff
2009-03-06, 18:28
^ is correct.

what happens is that a render takes too long time to complete within a screen update (in this case 30hz). this means it will spin the cpu waiting for the next screen update. it basically misses half the updates and hence your framerate is halfed..

Haggy
2009-03-07, 00:09
I don't think the IGP is too slow since a normal X-Session with xfce for example does not have a problem with 1920x1080 @ 24, 50 or 60 Hz. Even 1080p h264 plays smooth using nvidia vdpau at a normal desktop. i only have this issue with xbmc running fullscreen/standalone directly on the x-server. in this mode all 1920x1090 settings seem to get ignored.

harryzimm
2009-03-07, 00:30
Like i said before its a ram issue. Ive been through all of this before, with three motherboards. Two nvidia 7100 and one 9300. All had 38hz or there abouts in 1080p. Trust me, when using a integrated gpu @ 1080p you need decent ram in dual channel mode. Cheap crap slow ram in dual channel wont help much. Your describing my exact problem before i upgraded(check my previous posts). I reckon if you upgrade your ram to a decent spec the problem will vanish.

cheers.

mikey79
2009-03-07, 11:21
As I told before, installing dual channel Ram didn't change anything. I bought OCZ DDR2-800, checked if they really ran in dual channel and they did, but XBMC didn't run any faster.

Yesterday I bought a GeForce 9500GT and checked with it. Result: 1080p@60Hz without any problems. Unfortunately it didn't fit into my case, since it is rather slim and the card hat a thick cooler on its side which didn't allow my case to be closed. So I went out and got another card, a 9400GT. Unfortunately, I did not yet came to try it out....But I am looking positive into the future :-) I'll keep you updated...

sandos
2009-03-07, 13:01
Like i said before its a ram issue. Ive been through all of this before, with three motherboards. Two nvidia 7100 and one 9300. All had 38hz or there abouts in 1080p. Trust me, when using a integrated gpu @ 1080p you need decent ram in dual channel mode. Cheap crap slow ram in dual channel wont help much. Your describing my exact problem before i upgraded(check my previous posts). I reckon if you upgrade your ram to a decent spec the problem will vanish.

cheers.

What is "crappy" RAM? Is, for example, CL4 DDR2 at 533Mhz considered "crappy" ? Or are all the timings necessary to know if its crappy or not?

Haggy
2009-03-07, 14:40
What is "crappy" RAM? Is, for example, CL4 DDR2 at 533Mhz considered "crappy" ? Or are all the timings necessary to know if its crappy or not?
On Intel it doesn't matter much. Using DDR2-667 for Core2Duo or even slower RAM on anything with FSB200 will do. On AMD X2 you must have DDR2-800, on Phenom DDR2-1066 or even DDR3 to fully benefit from the faster processor since AMD has a built in Memory-Controller. CL4 or CL5 doesn't matter at all for a HTPC.

I got 2 x 2GB DDR2-800 RAM definitely running in DualChannel-Mode and can't get beyond the 38fps barrier in XBMC whereas every other app reaches 50 or even 60 Hz fine. Maybe dual channel RAM eases the problem a bit, but i don't think it is solely related to this.

BTW: Yesterday i ran mplayer with -vo vdpau on Casino Royal @24 Hz - smooth as butter. No jitter, no tearing, no lags or sync issues. It IS possible on this hardware (4850e @1800MHz, nvidia 8300) - but obviously not in xbmc yet.

cejstrup
2009-03-07, 16:05
It should be. I have absolutely no problems with xbmc and 1080p playback and I have a Celeron L-430 which I guess is a lot slower than your CPU. Also xbmc runs fine with 1080p@60Hz

BLKMGK
2009-03-07, 16:47
On Intel it doesn't matter much. Using DDR2-667 for Core2Duo or even slower RAM on anything with FSB200 will do. On AMD X2 you must have DDR2-800, on Phenom DDR2-1066 or even DDR3 to fully benefit from the faster processor since AMD has a built in Memory-Controller. CL4 or CL5 doesn't matter at all for a HTPC.

I got 2 x 2GB DDR2-800 RAM definitely running in DualChannel-Mode and can't get beyond the 38fps barrier in XBMC whereas every other app reaches 50 or even 60 Hz fine. Maybe dual channel RAM eases the problem a bit, but i don't think it is solely related to this.

BTW: Yesterday i ran mplayer with -vo vdpau on Casino Royal @24 Hz - smooth as butter. No jitter, no tearing, no lags or sync issues. It IS possible on this hardware (4850e @1800MHz, nvidia 8300) - but obviously not in xbmc yet.

Have you seen this thread http://xbmc.org/forum/showthread.php?t=45525 ? I am running VDAPU enabled XBMC here and the performance is very very good to say the least! If the onboard NVIDIA video cannot hack it with software decoding I'd try the VDPAU for sure before I'd go buying more parts.

Haggy
2009-03-07, 16:57
Thanks - but i'm far from buying new hardware since it only two weeks old and i insist on the fact that it is enough for 1080p. :-)

I tried compiling xbmc-vdpau from svn several times but each time ran into other issues. problem of the day is an endless loop of shells spawning while compiling dvd_read.c (you'll find the thread in here)

Thinking about using anything else than xbmc :-(

mikey79
2009-03-07, 20:28
Ok, just installed the new videocard and XBMC ran like it is supposed to: @50Hz.
xrandr first showed that @1080 only 5*Hz are possible. But after disabling DynamicTwinview that problem was also solved and now I have beautiful 1080@24, 50 & 60Hz. Being idle, my 2 CPUs only use 5% and 1% each in XBMC. Automatic refresh rate updating works like a charm. Only 720p videos show CPU usage from 60-70% on one core, the other sleeps @~20%. There is still some open end for tweaking, but at the moment I am quite happy that everything works so far as it should and I don't need to change my htpc software, since I really fell in love with XBMC!

Btw, for anyone interested in what i bought: it was a Gainward GeForce 9400GT, passively cooled, for ~50€. It will still have to prove its power once I try out vdpau, but for me and my system, the onboard GeForce showed to be the bottleneck, even with dual channel RAM usage.

Thanks for all advices and kind hints and tips! Keep up the good work!

Haggy
2009-03-07, 21:00
Glad to hear your issues are solved. Unfortunately a discrete GPU is an absolute no-go for me since i don't have the space nor psu power to drive one and as mentioned i insist on using the IGP or xbmc will have to go - love it or not, i saw what mplayer is capable of on that system, so it's xbmc's turn, not the hardware's turn.

BLKMGK
2009-03-08, 12:29
Thanks - but i'm far from buying new hardware since it only two weeks old and i insist on the fact that it is enough for 1080p. :-)

I tried compiling xbmc-vdpau from svn several times but each time ran into other issues. problem of the day is an endless loop of shells spawning while compiling dvd_read.c (you'll find the thread in here)

Thinking about using anything else than xbmc :-(

ah, well might want to try Ubuntu for starters since that's the distro that's supported. Compiles fine, in fact just compiled the new changes just now - smooth as silk. That CPU may not prove to be enough for XBMC to play 1080 smoothly using software decoding, not many AMD have been able to do say Killa' Sample although XBMC has been getting better\optimized more and more. Not done much CPU testing since I went VDPAU - it barely taxes the CPU at all :)

Haggy
2009-03-08, 15:12
Sorry, but that also is a no-go, since i don't like Ubuntu and how they behave among the community. I've been on Debian for years, then Gentoo, now since a few years on Arch Linux. I'd rather tweak my build environment than switching to Ubuntu - but that is a personal preference :-)