Reply
Thread Tools
ArnimS's Avatar
Posts: 1,107 | Thanked: 720 times | Joined on Mar 2007 @ Germany
#1
Hello,

edit: workaround provided by Nokia. Thanks! see pasuspender
[strikethrough]
I would like to summarize some discussions I've had on Fremantle implementation of audio backend, and create a place for t.m.o. users to discuss the issues we've encountered.

My primary concern is Pulse Audio taking somewhere around 15% cpu on average, when an application streams audio to speakers. This really slows emulators down, which realy heavily upon instruction/data cache.

The heavy load appears to stem from two factors:

0) Sample rate conversion (to 48khz)
1) xprot equalization: The N900 uses software-based audio-equalization to improve sound quality and max possible volume (without damaging speakers)

I can see no "safe" way for Nokia to allow us to bypass this, so I hereby put out the call to the hackers of the world to help get cpu load below 5% pushing audio out the door!

Perhaps the thing for emulator authors to do would be to generate 48khz audio (to eliminate resampling), limit volume, and try pushing audio to some device *behind* Pulse Audio?

-Arnim

Last edited by ArnimS; 2009-12-20 at 21:03. Reason: Fixed!
 

The Following 2 Users Say Thank You to ArnimS For This Useful Post:
pycage's Avatar
Posts: 3,404 | Thanked: 4,474 times | Joined on Oct 2005 @ Germany
#2
As far as I understood discussions with people inside Nokia, all audio to the speakers passes a (software) HP filter to protect the speakers, which may get damaged by low frequencies.
The CPU usage may come from the filtering.
__________________
Tidings - RSS and Podcast aggregator for Jolla - https://github.com/pycage/tidings
Cargo Dock - file/cloud manager for Jolla - https://github.com/pycage/cargodock
 

The Following 2 Users Say Thank You to pycage For This Useful Post:
Posts: 20 | Thanked: 9 times | Joined on Dec 2009
#3
Originally Posted by pycage View Post
all audio to the speakers passes a (software) HP filter to protect the speakers, which may get damaged by low frequencies.
The CPU usage may come from the filtering.
No, not that much. High pass filter can be implemented using very simple and fast loop:
http://en.wikipedia.org/wiki/High-pass_filter
 

The Following 2 Users Say Thank You to wolf For This Useful Post:
Posts: 2,802 | Thanked: 4,491 times | Joined on Nov 2007
#4
Resampling isn't that heavy either, see https://bugs.maemo.org/show_bug.cgi?id=5794. The question is, just exactly what is PA doing that eats that many CPU cycles?
 
Reply

Tags
emulation, fremantle, performance, pulse audio, xprot


 
Forum Jump


All times are GMT. The time now is 07:52.