Recent Superpowered developments

Questions and Discussions about G-Stomper
dag
Posts: 26
Joined: Thu Jul 21, 2016 8:59 am

Recent Superpowered developments

Postby dag » Thu Aug 11, 2016 11:03 pm

Existing posts mentioning Superpowered are from 2015, so it seems these new developments haven't been discussed here:


The former is a media server that's halving the roundtrip latency on the Nexus 9 to finally achieve something under the sacred 10 ms mark.

The latter I haven't explored much yet myself, but they're calling it "a solution for Android’s USB audio and MIDI challenges" themselves.

Are these relevant to G-Stomper at all? I think they would certainly help latency, but at least the media server requires rooting your device to run, assuming it doesn't become a standard that OEM's ship with or that becomes part of Android. And as I understand it you also have to rewrite your app to use their APIs to take advantage of the media server, or it will just use the standard media server path.

Still interesting, though. It's a thorn in my side that iOS achieves 6 ms roundtrip latency with a shrug of the shoulder while the best of Android struggles to get 15 ms despite running on more capable hardware. Though even with these developments, that's still 19 ms if using the device speakers (down from 25 ms), something which doesn't make a difference on iOS.
User avatar
planet-h
Posts: 1545
Joined: Wed Jun 19, 2013 4:46 pm

Re: Recent Superpowered developments

Postby planet-h » Fri Aug 12, 2016 1:25 pm

dag wrote:Existing posts mentioning Superpowered are from 2015, so it seems these new developments haven't been discussed here:


The former is a media server that's halving the roundtrip latency on the Nexus 9 to finally achieve something under the sacred 10 ms mark.

The latter I haven't explored much yet myself, but they're calling it "a solution for Android’s USB audio and MIDI challenges" themselves.

Are these relevant to G-Stomper at all? I think they would certainly help latency, but at least the media server requires rooting your device to run, assuming it doesn't become a standard that OEM's ship with or that becomes part of Android. And as I understand it you also have to rewrite your app to use their APIs to take advantage of the media server, or it will just use the standard media server path.

Still interesting, though. It's a thorn in my side that iOS achieves 6 ms roundtrip latency with a shrug of the shoulder while the best of Android struggles to get 15 ms despite running on more capable hardware. Though even with these developments, that's still 19 ms if using the device speakers (down from 25 ms), something which doesn't make a difference on iOS.


Thanks a lot for the hint, dag.
I already answered at this topic: Screen tap feedback latency

As you already mentioned, the lowest possible latency can only be achieved, if some exact conditions are met (having a Nexus 9 / 6P running on Android N with root access, and more). That all sounds nice on the paper, but that's not reality. Only around 0.05% of all Android users own a Nexus 9, maybe a few more own a Nexus 6p. On the other hand, around 45% of all Android devices are Samsung, and none of them come event close to a Nexus 9.
Cire86
Posts: 55
Joined: Tue Nov 26, 2013 1:47 pm

Re: Recent Superpowered developments

Postby Cire86 » Fri Aug 12, 2016 6:16 pm

Just a question how does root acces afflect the latency?
dag
Posts: 26
Joined: Thu Jul 21, 2016 8:59 am

Re: Recent Superpowered developments

Postby dag » Sat Aug 13, 2016 3:58 am

I guess I mostly think it's interesting to follow these developments and hope that they'll eventually trickle down to core Android.

Cire86 wrote:Just a question how does root acces afflect the latency?


Sadly, it's not as simple as "run G-Stomper as root and get lower latency". In this case, root is required to run an OS-level media server as an alternative to the Android service. It could also theoretically be done without root by including this media server in a custom ROM.
User avatar
planet-h
Posts: 1545
Joined: Wed Jun 19, 2013 4:46 pm

Re: Recent Superpowered developments

Postby planet-h » Sat Aug 13, 2016 7:05 am

dag wrote:I guess I mostly think it's interesting to follow these developments and hope that they'll eventually trickle down to core Android.

Cire86 wrote:Just a question how does root acces afflect the latency?


Sadly, it's not as simple as "run G-Stomper as root and get lower latency". In this case, root is required to run an OS-level media server as an alternative to the Android service. It could also theoretically be done without root by including this media server in a custom ROM.


And exactly that's the point, it's too proprietary.
They do factually the same as Samsung did with their Real-Time Audio API. Other than Samsung they do it not for a single device brand, sure, that's an improvement. But they apply their un-transparent pricing model, which will factually end in the same result, that no serious developer will use it.

The best what could happen would be that Google would buy their solution (who knows, maybe they're in contact anyway) and then integrate it in the Android core (and expose it in the NDK). But if this is not the case, and Google actually develops their own solution, then every dev will use that one once it's finished.
dag
Posts: 26
Joined: Thu Jul 21, 2016 8:59 am

Re: Recent Superpowered developments

Postby dag » Mon Aug 15, 2016 3:24 am

I agree it's not practically useful unless it somehow becomes part of the Android core (they're calling it a demo themselves). Personally I don't care if that happens by Google buying their solution or implementing their own as long as the results are the same. I have no stake in Superpowered itself. But it does seem that a key aspect to achieving these benefits involves switching from push to pull. I'm not sure to what extent such a change can be made without also requiring changes at the higher level of application APIs. It would be great if they could just make the change and have more or less the same, backwards-compatible application API for using the new pull-based service, but maybe it's a fundamentally different programming model. I don't know.

Or if they can achieve the same results without switching from the current push mechanism, sure why not. But it does seem, at least according to Superpowered, that push is the current bottleneck that inevitably limits how effective any improvements can be:

Paramountly, the new Superpowered Media Server audio path works as a ‘pull mechanism’, while the current Android media server is a ‘push mechanism’. Using pull, the audio driver dictates when the media server and the user application should produce the next buffer of audio, whereas in ‘push’, the media server or the user application shoves the next buffer of audio to the audio driver whether it is ready or not.

[...]

Because pull reduces the risk for dropouts, and handles audio “in the rhythm of the audio device” [it] is the standard for professional audio systems like Mac OSX.


The same is true of JACK for Linux, which Samsung Pro Audio seems to be an Android port of.
User avatar
planet-h
Posts: 1545
Joined: Wed Jun 19, 2013 4:46 pm

Re: Recent Superpowered developments

Postby planet-h » Mon Aug 15, 2016 7:22 am

Absolutely agree, dag.
An out-of-the box pull service is the way to go.
And regarding what the guy in the video said, that's exactly what they want to build (most likely based on JACK).

Return to “General Questions and Discussions”

Who is online

Users browsing this forum: No registered users and 41 guests