|
Page 1 of 1
|
[ 6 posts ] |
|
Choppy parcel video with plugin read thread enabled
Author |
Message |
Amalia Illios
Joined: 2010-04-07 08:23:18 Posts: 210
|
Hi Henri, hello everyone,
I suppose that technically it's not exactly a bug, no less I would like to share my observation that with the "Use a Read thread for plugins" option enabled, parcel video streams get choppy (not in a stream break-up sense but rather that not all frames seem to be updated on-screen -- from the looks of it, possibly every second one?). Switching the option off will revert the video to its full FPS again.
(Log is of a session where the option was toggled a couple of times. No real insight gained from it, though.)
Love, Lia
|
2014-04-05 11:31:15 |
|
|
Henri Beauchamp
Joined: 2009-03-17 18:42:51 Posts: 5545
|
Not a bug. Just don't turn this advanced option on if it's any trouble for you (mind you, the very reason why it's among Advanced settings and OFF by default is precisely because it's far from being 100% suitable for all use cases).
The thread will run according to your OS settings and peculiarities, which might make it a low priority task, thus the slow updates in your case.
|
2014-04-05 13:44:43 |
|
|
Amalia Illios
Joined: 2010-04-07 08:23:18 Posts: 210
|
Hello again Henri,
thank you for clearing that up. I thought as much (as I stated), but from the description in the release notes I wasn't quite sure if this detail was "expected behaviour".
Love, Lia.
|
2014-04-06 07:59:39 |
|
|
Henri Beauchamp
Joined: 2009-03-17 18:42:51 Posts: 5545
|
I changed the ms_sleep() duration in LLPluginProcessParentPollThread (llpluginprocessparent.cpp) from 100ms (i.e. 10 polls per second max) to 1ms (i.e 1000 polls per second max), and did notice a (slight) difference: unsurprisingly, the videos do update more smoothly with the 1ms setting (and even though 1000 polls per second is an overkill, the short, 1ms pause does still allow the kernel to preempt the thread, thus avoiding the 100% loaded core happening even without any media playing when no pause is done at all).
I will do more testing and will probably adopt something in the line of 10ms pauses for next releases...
This said, I could not reproduce your issue with "choppy" videos...
This is probably an issue with your particular Linux kernel (compile-time) configuration... I personally use what I found to be the best compromise between tasks reactivity and scheduling overhead: periodic timer ticks (with a 300Hz timer frequency, which is ideal for videos, be them at 25, 30, 50 or 60Hz frame rates) and voluntary preemption model. The corresponding settings are (for Linux v3.13) in "General setup" -> "Timers subsystem", "Processor type and features" -> "Preemption model" and "Processor type and features" -> "Timer frequency".
|
2014-04-06 13:59:42 |
|
|
Amalia Illios
Joined: 2010-04-07 08:23:18 Posts: 210
|
Hello again Henri,
gosh, thank you for giving it so much attention, which really wouldn't have been necessary. I was perfectly fine with the solution once you explained it.
Well, maybe "choppy" was badly picked as a term. You say you used 100ms, which in my simple mind would mean that video sort of would end up being updated 10 times a second, resulting in a kind of 10 FPS effect -- which sounds sortakinda right when I look at it and compare it to my mind's eye image of the 10 / 12.5 / 15 fps streams of yesteryear.
There is no real change in update rate while the video is running, however, so indeed my choice of "choppy" probably was very sloppy.
Love, Lia
|
2014-04-10 19:02:02 |
|
|
Henri Beauchamp
Joined: 2009-03-17 18:42:51 Posts: 5545
|
Today's releases include an adaptive algorithm: when the plugins are idle/absent, the thread polling occurs every 100ms. When at least one plugin is active, the pause between each polling is reduced to 1ms (which will cope even with 40 videos playing at once at 25fps each...).
|
2014-04-12 12:16:12 |
|
|
|
Page 1 of 1
|
[ 6 posts ] |
|
Who is online |
Users browsing this forum: No registered users and 13 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|