Closed mavavilj closed 1 year ago
I don't see how this is related to rawdrawandroid. Furthermore the last paragraph oft the abstract sounds like the answer is no.
Our testing results showed that Android in its current state cannot be qualified to be used in real-time environments.
It's related in the sense that I was looking for rawdrawandroid to implement a C/C++ app without Java and its GC. Then, in reference to the Oboe C++ library, I thought that this would allow e.g. C++ level audio I/O latency. If it doesn't pass through the JVM and JNI, then I thought this library would be as fast as native C/C++ on desktop.
If this is not the case, then I don't understand what's the benefit of doing an unofficial port, when it's officially suggested to use Kotlin.
The quote you give is obviously w.r.t. to Java/Kotlin, and it's intuitive that it's not a RT language technology due to the limitations that the GC produces.
The paper also gives info in the last paragraph regarding potential solutions, so perhaps this library does not in fact change anything about Android, but just programs it in C/C++.
They also write:
As such, a lot of open source C/C++ applications cannot be built for Android.
Which also suggests that the path of "raw C/C++" may be flawed on Android. So I am going back to Kotlin. I was very interested in the library for not having to write any Java though.
I still wonder though, whether this allows it so that there's no latency induced by the JNI? In other words, if one writes a GUI with this and e.g. signal processing using some C library, then all calls between the GUI and the DSP would have no added latency between except for that produced by C code statements.
I understand your question now, unfortunately there seems to be no one here who has the answer. AFAIK, RT was never a goal of this project.
I think that It is almost 100% true that pure C will not have GC latency and at certain will have less RAM consumtion and will be more realtime than java
I think this is answered as far as possible.
Does this mean that Android can be used for real-time computing?
https://ieeexplore.ieee.org/document/6454350