On 08/08/14 16:40, Scott R. Looney wrote:I haven't got far enough for any comparisons, but there are two ways an app can work ... accessing the standard android interfaces via Java, or in what is called native mode ... accessing the lower level C interfaces that have been enabled (in that version of Android etc), and that are accessible by the groups that the app has been assigned. Raw devices and such are not generally accessible, certainly kernel modules can't be loaded by the users or their apps, but the barrier to using the C level interfaces, openGLES and such, is only the programming effort required, not permissions for the app.
one quick answer to these Android latency issues - it seems that if you're
a big developer, like EA Games and such, then you can create your own audio
engines running largely independently of the Android OS and solve most of
the issues that way.
An app is assigned groups when it is downloaded, if it asks for specific permissions then the user must OK that in a dialogue, then the user that the app runs as gets added to those groups. But there is much that is root only, and not available to any group that an app can be assigned. It isn't surprising that bypassing the android Java layer gives better latencies, if you make the effort to do it properly, and especially writing the entire interface. Some libraries would be useful here.Yes, I understand Nexus (the Google hardware) are more compatible with the standard Android (which is also Google, so no surprise here) and are less aggressively locked down. Samsung uses SE Linux features to ensure the sandpit is very tightly controlled, like a corporate PC is, and have warranty fuse bits that are set if you install anything different, plus their hardware needs their in-house stuff so you would be silly to buy Samsung then disable the expensive parts. I haven't got a Nexus though, so I don't know what you lose when you relax their restrictions. Certainly you can still add most of the Google binary stuff (google play, google maps etc) to any android system, but they are not open source and linking to them would depend on what you wanted to do, and some require further agreements before linking I think.
however, if you're a smaller developer working within Android's audio
system, you're stuck with latency, although for a small number of devices
(mainly the Nexus devices) the delay time was improved in Jelly Bean. this
performance may have improved lately, or at least more devices seem to
respond better. it's still nowhere near the responsiveness of iOS.
Simon
_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list