This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#11817 - M:Robe 500: Kinetic-scrolling influences music plaback
Attached to Project:
Rockbox
Opened by Leo Witt (some-xtc) - Monday, 20 December 2010, 01:10 GMT+2
Last edited by Thomas Martitz (kugel.) - Sunday, 05 June 2011, 17:14 GMT+2
Opened by Leo Witt (some-xtc) - Monday, 20 December 2010, 01:10 GMT+2
Last edited by Thomas Martitz (kugel.) - Sunday, 05 June 2011, 17:14 GMT+2
|
DetailsVersion: r28861
Hello, when I hold the touchscreen on a kinetic-scroll for some seconds (2-3), the music playback gets interrupted. This is very annoying on big lists and you're still selecting ... Thanks in advance! |
This task depends upon
Normally, the user input should slow down as the pcm buffer drains and the codec priority is raised. If lists stay fast even when the buffer is draining, this may be the right track.
I think the button_queue isn't always full since I limited redraws to 20fps, ie the timeout handler posts to the button_queue only every 4 ticks.
But even even if the button_queue was always full, I'd not expect that the main thread can starve the audio one, since the audio thread boosts its priority if it can't keep up decoding.
As I mentioned in irc,
FS#11387also indicates a scheduler problem. in that task a thread which is mostly waiting for dma to finish (via wakeup_wait()) starves the audio thread.as I said this situation is very annoying!
This error happens even on a "big" kinetic-scroll, if I scroll down from the top to the bottom
1. with one flip (in German: "mit einem Ruck")
or
2. sequentially with the finger.
Can you also run the attached test_fps with SVN and with the attached binary (to see if my patch causes any slowdown).
your binary causes some strange graphic glitches ... but yeah, kinetic-scrolling does not influences music plaback ! :-)
EDIT: uploaded the corresponding patch
The results from test_fps with your second patch:
without music:
Main LCD Update:
1/1: 97.0 fps
1/4: 277.0 fps
Main LCD YUV
1/1: 31.6 fps
1/4: 120.0 fps
Remote LCD Update
1/1: -760173.-6 fps
1/4: 502568.8 fps
CPU: 88 Mhz
with music:
Main LCD Update:
1/1: 59.5 fps
1/4: 168.0 fps
Main LCD YUV
1/1: 31.6 fps
1/4: 120.0 fps
Remote LCD Update
1/1: -763450.-1 fps
1/4: 500022.3 fps
CPU: 88 Mhz
This is really music vs no music,
test_fps does not stop music when I run it.
Have I done something wrong :-X ?
without music:
Main LCD Update:
1/1: 112.5 fps
1/4: 296.5 fps
Main LCD YUV
1/1: 31.6 fps
1/4: 120.5 fps
Remote LCD Update
1/1: -760171.-1 fps
1/4: 502659.8 fps
CPU: 88 Mhz
with music (this time, the music stops when I run test_fps):
1/1: 112.0 fps
1/4: 395.0 fps
Main LCD YUV
1/1: 32.1 fps
1/4: 122.5 fps
Remote LCD Update
1/1: 346300.8 fps
1/4: 988550.7 fps
CPU: 88 Mhz
in the meantime I'll commit another patch which should make the issue less bad.
but I must say, it is noticeably slower.
On music playback the marquee, for example, does not run smoothly and the WPS comes in fragments ...