Linux [Solved] Fluctuating fps
Solution -->


Fps is fluctuating during playback. This results in jutter and its not fun to watch at Sad. I don't know if its related but I find it strange that in System Info full screen fps is also fluctuating.

I'm on Debian Wheezy 7.2 with Xbmc 12.2 (from repo).

Hardware is i5 3570k 16GB and GT430 (late model). In the Nvidia driver control panel I set powermizer to prefer maximum performance.

Playback settings:
render: automatic
Allow hardware: both
Adjust display refresh match: always
Pause: Off
Sync playback to display: On
A/V Sync method: video clock

I tried virtually every possible combination but its always the same.

I tried Vertical blank sync set to always.

Sometimes it seems it starts off good, 23.98 fps, but after a minute or so it starts fluctuating.

Other things I've tried is to create modelines in xorg.conf based on EDID information.

Any help is much appreciated!
Debug Log
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.

I played 2 movies, the 2nd one started to fluctuate.

I noticed when it happened xmbc started using a lot more cpu.


Are Intel HD4000 drivers better for this on Debian with XBMC? Its currently disabled but I can easily switch I think.
Quote:14:48:47 T:140419469903616 DEBUG: CVideoReferenceClock: detected 1 vblanks, missed 76, refreshrate might have changed
14:48:47 T:140419469903616 DEBUG: CVideoReferenceClock: Received RandR event 123
14:48:47 T:140419469903616 DEBUG: CVideoReferenceClock: output of nvidia-settings -nt -q RefreshRate3: 23.971 Hz

I think you watch a 24p movie, right? Check your modelines. That Modeline is too bad for 24.0 and not correct for 23.976 fps, you will see a slide stutter every some seconds. There are some xorg.confs arround that work around that problem. Make sure you don't have some Gnome3 / Unity / compiz / kwin stuff running. Those can heavily influence SwapBuffers.

A sample xorg.conf is here:
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
No, 23.976fps (HDTV series). I'll check a 24p movie tonight if I have/can find one.

I created modelines from the EDID info. I'll have a look at that sample but I don't think I can simply use modelines from another card/TV can I?
I merged it into my own and made sure there were no conflicting lines.

It booted fine but the problem is still there.

I did notice that if I wait 5 to 10 seconds and skip back to the start, fps settles down it plays fine after that, at least for the few minutes I played.

Gonna watch something now so I'll report back how it goes.

Ps. Powermizer settings don't stick, every time I open Nvidia control panel its back to power save mode. I don't know if that's the cause but I'll see if I can find something about making that setting permanent. GT430 is not powerful enough to do full hd in power save mode Wink.

Edit: I'm afraid the skipping back to the start doesn't work, its only a temporary fix as it starts fluctuating again after a minute or two.

Any ideas?
I added

Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefault=0x1; PowerMizerDefaultAC=0x1"

to the Device section and rebooted.

I also disabled the active timer for powermizer and saved the config.

It doesn't help.

The thing is, after I skip back it quickly stabilizes at 23.98 and its good for a minute or two. Then it starts again. I skip back, its stable, etc etc.

Its perfectly reproducable.
I tested OpenELEC generic from USB live. It plays perfectly. Match refresh rate on, and fps is rock stable.

When I disable refresh rate matching (not in OpenELEC) fps is more stable than with it on.

If anyone has any more suggestions ...

Build from source.

This is what OpenELEC ships.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
I reinstalled my htpc from scratch and the problem is gone. Same versions, Debian Wheezy 7.2, latest Nvidia drivers and xbmc from repository.

I hate the fact that I still don't know what caused it though.
The issue came back after I installed lirc last night but when I removed lirc and the dependencies that came with it, the problem remained. I spent last night troubleshooting with several different users and clean profiles and the issue is definitely in a profile, but I'm having a hard time isolating it. I'm convinced it wasn't lirc or its dependencies as I can have that installed on other profiles that don't suffer from this issue.

I removed the .xbmc folder and tried some other things, but the issue remained. I create a new user with a clean profile the issue is gone. I can copy the .xbmc folder to that profile and it will play fine.

So I'm trying to figure out which folders are causing xbmc to misbehave.

One thing I notice is that when it goes wrong, my desktop runs at 1080i instead of 1080p, but there is no .nv file (custom nvidia settings).

This is perfectly reproducable, there must be something in that profile that causes the desktop to use 1080i and fps will start to fluctuate in xbmc.

If anyone has any ideas what could this please share. I thought it be as easy as just copying the folders one by one to the new profile but it would be easier if I had an idea in which direction I could search.

This could very well be a bug with Debian or XFCE but I need to isolate it before I can submit a bug report (which I will).
Wanted to share the solution to (or better said, the cause of) of the fluctuating fps with XMBC on Debian Wheezy with XFCE.

The most unlikely cause if you ask me, but I tested many times, with many different (good and bad) user profiles that I've saved over the cause of the past weeks troubleshooting this issue.

The panel items for disk load are causing XMBC's FPS to fluctuate. Removing these panel items fixes the issue. Reproducable with 4 different user profiles.

Logout Mark Read Team Forum Stats Members Help
[Solved] Fluctuating fps0
This forum uses Lukasz Tkacz MyBB addons.