Reply
Senior Member
s125525
Posts: 3
Registered: ‎12-05-2010

SkypeKit performance on ARM v6

We use SkypeKit for ARM v6 on our platform.
CPU usage is 90% or more when do 720p video call and SkypeKit uses almost 70% at this time.
We couldn't understand what should we do to improve this problem because SkypeKit is a black box.
We want to analyze which process resumes more CPU and what does the process do.
Please let me know how to investigate and improve it.

Hopefully, it is very helpful that you will provide us the SkypeKit image with debug information.
Please use plain text.
Staff
kaido_kert
Posts: 90
Registered: ‎31-05-2010

Re: SkypeKit performance on ARM v6

Without knowing more details about your configuration, its hard to provide any meaningful assistance

Could you provide
1) the CPU model that you are using
2) CPU frequency, and if any frequency scaling is being used
3) SkypeKit runtime version
4) SkypeKit runtime configuration, in particular if you are using voicertp or voicepcm setup
5) Audio codec in use, and audio stack configuration ( AEC, Beamforming .. )
5) Video bitrate and framerate, in both receive and send direction
6) The version of the far end client ( Skype Windows, Mac, iPhone, TV .. )


All of these, and other variables, could be affecting the performance.
Please use plain text.
Senior Member
s125525
Posts: 3
Registered: ‎12-05-2010

Re: SkypeKit performance on ARM v6

Here is the detail information about our platform and system:

1) CPU: ARM11
2) CPU: 700MHz
3) SkypeKit runtime version: v3.1.0.2350 (I used this version when I measured above)
4) SkypeKit runtime configuration: SkypeKit: linux-armv6-skypekit-voicepcm-videortp
5) Audio codec in use: SILK WB V3(16kHz sample rate)
5) Video bitrate and framerate: 1.5Mbps and 24fps@720p, 30fps@VGA or smaller
6) The version of the far end client: 4.2.0.187 for Windows

Please use plain text.
Staff
kaido_kert
Posts: 90
Registered: ‎31-05-2010

Re: SkypeKit performance on ARM v6

So by your data, SkypeKit runtime seems to use roughly 500Mhz in this situation.

Depending on other details in the system, this is not out of line. Probably around half of this is burned on audio processing.

Two suggestions
1) If you want to try and experiment with reducing audio processing load, try to configure the audio stack to turn off preprocessing elements, i.e. disable AEC and/or reduce SILK operating load, or perhaps disable SILK and use G729 only, for performance testing

2) Limit your maximum video quality. CPU requirements scale with Video bitrate and framerate. You may try and want to limit yours to VGA @ 15fps. Limiting can be done through VideoRTPInterface GET_H264_RECEIVER_PARAMETERS and GET_H264_SENDER_PARAMETERS calls. See videortp-test for example.

Make sure that your system does NOT exceed average 80% systemwide CPU load, or you will not be able achieve stable audio-video quality. I.e. system "Idle" shown by top and other utilities needs to stay at 20% or more in average.



Please use plain text.
Staff
kaido_kert
Posts: 90
Registered: ‎31-05-2010

Re: SkypeKit performance on ARM v6

Also, please test against Skype for Windows version 5.1.0.112 or newer. It will not affect performance, but a number of know stability issues have been addressed compared to earlier versions.
Please use plain text.
Occasional Advisor
prateek.pant1510
Posts: 9
Registered: ‎09-09-2010

Re: SkypeKit performance on ARM v6

Please let me know whether your audio breaks when your CPU load increased above 90%.When you make 720p call @ 1.5Mbps bitrate.

(1)What happens when you reduce send and recv bitrates to 1mbps ?

(2)What happens when you wait and fetch data for 40 ms between subsequent Output DeviceReady .Do same experiment on InputDeviceReady also .

I observed that CPU load decreases by this way as Skypekit Runtime load decreases by calling these APIs at lesser rate.



Please use plain text.
Senior Member
s125525
Posts: 3
Registered: ‎12-05-2010

Re: SkypeKit performance on ARM v6

Hi sskype123,

Thank you for your advice.
We hear some breaking of audio with noise during video call.
Also I get almost same result when I reduce network bitrates.

I will test changing interval to call SkypePCMCallbackInterface .
Please use plain text.