Rockbox mail archiveSubject: 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.
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
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
Received on 2011-12-01