Linux Video + subtitles = major slowdown/ video crawls
#1
Hoi,

I'm a new user of xbmc, and everything works really nice (great app!), except viewing videos with subtitels.
Without subtitles everything works really well and the videos just play smoothly. As soon as i enable subtitles in a movie, the video begins to kind of freeze, as soon as a subtitle appears in the screen. As the text dissapears the video runs smoothly again. The bigger the size of the font, the heavier the slowdown.

I tested several versions of xbmc, and though I have rather old hardware, i have the idea this is not the cause, because in xbmc Eden the movies with subtitles just run fine. In self compiled frodo, and git, and in the frodo version that comes from the package from ubuntu the problem is present. (using Eden for me is further not an option as several add-ons do not work )

My question: is there a known cause for this, and can i somehow work around this problem by adding fonts/ install packages / configure options in compilation?

Thanks in advance.

Hardware specs: Nvidia Geforce 440 Go with drivers from nvidia.com (note, i cannot use the drivers from ubuntu, do not work on my computer)

Eppo
Reply
#2
Debug Log <- i heavily suspect your outdated hardware.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#3
Hi, here's Debug Log of playing a part of movie with subtitles:

http://pastebin.com/QCSC2P0e

thx for looking
Reply
#4
Try to disable VDPAU / VAAPI and enable Frame threading (the option directly above). Your ancient hardware seems to struggle with the decoding.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#5
That seems to help a tiny bit, but it still stutters. When i push 'o' key, i can see it only runs at 10 fps, lots of dropped frames, and cpuload nearly 100 %. Whereas when i play the movie in Eden , the cpu sits at 60 % en i get no frame drops-->smooth video.
Is such a big difference between Eden and Frodo on my hardware expected?

regards
Reply
#6
No, not really. Can you provide a logfile with Eden and one with frodo? playing the very same file?
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#7
This is Debug Log from eden
pastebin.com/KBtszqQ4

This is Debug Log from Frodo:
pastebin.com/g4KGR7Fs


regards
Reply
#8
Quote:CSoftAE::InternalOpenSink - Using speaker layout: 2.1

Set those to 2.0

2.1 is plain wrong:
Quote:Channel Count : 2
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#9
I did that, but the slow downs keep going. I found out that cpuload is also about 100% in the startmenu. Moving the cursor is also a bit sluggish. I think it has something to do with rendering text. Removing the fonts makes the cursor move ver smoothly, like in Eden. I'll try to do some profiling, maybe that reveals something. Thanks for looking into this

regards
Reply
#10
After a regression test (that was really dreadful because of working around several compiling errors) I found a fix for this.
I'm posting the hack, in case anyone runs into the same issue.

A patch from August 2012 introduced this slowlyness on my machine. The hack below reverts that patch, and the CPU-load under SystemInfo drops from 100% to 10%-20% (running no movie/music)

I guess rendering every text or even one letter slows down XBMC on my old hardcomputer terribly because of this issue. I don't know if this can be workedaround in another way (if anyone knows, plz let me know).

Anyhow, system run greats now with subtitles in movies, so issue fixed for me.

Here's the hack:

diff --git a/xbmc/guilib/GUIFontTTFGL.cpp b/xbmc/guilib/GUIFontTTFGL.cpp
index 3358a5a..0604bcf 100644
--- a/xbmc/guilib/GUIFontTTFGL.cpp
+++ b/xbmc/guilib/GUIFontTTFGL.cpp
@@ -77,7 +77,7 @@ void CGUIFontTTFGL::Begin()
}

// Turn Blending On
- glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_ONE);
+ glBlendFunc/*Separate*/(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);//, GL_ONE_MINUS_DST_ALPHA, GL_ONE);
glEnable(GL_BLEND);
#ifdef HAS_GL
glEnable(GL_TEXTURE_2D);
Reply
#11
Hi eppo1,

I had exactly the same issue (XBMC running on old hardware as well), and your solution worked perfectly.
I've just compiled XBMC (by the way XBMC 14 alpha1) and issue solved!
CPU usage went down from 90%~100% to 5%~10%.

Many thanks!!
Reply

Logout Mark Read Team Forum Stats Members Help
Video + subtitles = major slowdown/ video crawls0