-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Android Server Launcher as a self-started service on OSVR #4
Comments
BTW I am mostly interested on having this as part of the OSVR Unity plugin, but if the android launcher becomes part of the main OSVR android build then I could rewire it myself I suppose. |
The JointClientKit API is currently designed as a kind of a developer test framework - it wasn't initially designed as something you'd make use of in production. Instead, production apps should use the auto-start API, which is more of a black box - the implementation details are hidden to an extent. The idea is that the auto-start API shields client developers from knowing whether the server is running in-process or in a system service, and what kind of VRPN transport is being used (TCP/IP, UDP, in-memory stream, etc...). Whereas the JointClientKit gives you more control over the in-process server and the VRPN connection - more than you'd need typically. But, in its current form, it's currently not thread safe. The client context and the server have to be in the same thread (the VRPN connection is an in-memory connection but it's not a thread-safe stream implementation currently), which is a non-starter for production apps - that's the source of the lag you mentioned. You can still run the server in a separate thread however. Currently the OSVR-Core implementation on Android starts the server in a separate thread in-process on Android when you use the auto-start API. Theoretically there should not be any measurable lag difference between a server thread in the same process as the client, and a separate server process. However, there is an on-going discussion on how OSVR auto-start should work on Android here: It's a long thread, but if you feel as I do that the separate app requirement is too onerous for most phone apps on the Play store, please add your feedback there. Your voice counts! :) |
@JeroMiya: Thanks! I am still getting my head around OSVR so apologies if some of the questions are dumb:
Thanks again! |
The server auto-start API is part of the ClientKit here: It's a black box, and it's opt-in. You call On the PC, the auto-start API looks for the |
Hello,
I've read in the forums and in some comments that there is a discussion to make the android server launcher a self started service that is part of an OSVR android application to avoid users having to configure and install the server separately -which I see as a major stopper for most users.
I have also seen the JointClientKit API that sort of would circumvent the need of having a separate server but reading the fine print this may not be the desired path for developers -more lag, inability to use async libraries etc.
Is the 'service route' being explored? If so, any idea when this will become available? To be honest, as a developer I see the need for starting a separate server a major issue with end users, particularly in android, where people won't be patient enough to install anything on top of their app.
In the meantime, is there any workaround to having the server running? Would you recommend using the JointClientKit API?
The text was updated successfully, but these errors were encountered: