Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Re: Performance regression

Re: Performance regression

From: Michael Sevakis <jethead71_at_comcast.net>
Date: Thu, 1 Dec 2011 02:45:36 -0500

> We should try to figure out if it also affects real hardware targets
> or just maemo / other RaaA targets.
>
> Cheers,
> Thomas

The software mixer and the PCM buffer are distinct entities. The PCM buffer
is called by the mixer and the callback is very lightweight, much more so
than before revisions with timestamping. The PCM buffer frames are 2048
samples (to provide accurate elapsed information without much jitter and
accurate enough for A-B repeat). The software mixer frames are fixed length.
256 samples by default, always, to have very low latency. Certain non-DMA
using targets have it shorter to deal with the short HW fifos and the fact
that mixing is done in the ISR.

On real targets, the impact of the software mixer was pretty negligble and
in the PortalPlayer 502x case, it actually reduced CPU load a bit since
cache flushes weren't needed to maintain coherency for DMA (buffers are
IRAM). On RaaA, I have no idea what the impact was. Some things have a cost
afterall.

Shorter/longer frames are possible for the mixer based upon targets but it
should keep things reasonably responsive. Longer mixer frames means each
double buffer frame is longer, thus needing more memory, which might be
scarce IRAM.

Regards,
Mike
Received on 2011-12-01


Page was last modified "Jan 10 2012" The Rockbox Crew
aaa