-
-
Notifications
You must be signed in to change notification settings - Fork 180
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
Add more compact bundle protocol #999
Conversation
94a2f9b
to
24b8568
Compare
Bundle protocol exists as a bypass for old hardware that doesn't implement frame aggregation in their networking implementation (ESP8266). |
@ImUrX What is the frame aggregation you are talking about? |
It's used in Wi-Fi protocols https://en.wikipedia.org/wiki/Frame_aggregation |
OK, I see. However, the main point is to reduce the amount of data transferred over the air. This PR reduces it more than three times. That isn't beneficial for slimes because they have relatively large batteries and don't need to aggregate data from dozens of sensors. On the other hand, the volume of data transmitted over the air is a critical factor for mobile phones, primarily due to power consumption concerns. For instance, iOS has a policy to terminate any background app that consumes some energy. Therefore, if an iPhone is required to act as a proxy, the data transfer needs to be carefully managed. The same thing happens for some Android vendors as well. Mocopi example can't be used here because they have only six sensors and a lower frame rate. |
Please split your PR into two, having the IMU packet in another PR and the simplified bundle protocol in another then. |
server/core/src/main/java/dev/slimevr/tracking/trackers/udp/FeatureFlags.kt
Outdated
Show resolved
Hide resolved
server/core/src/main/java/dev/slimevr/tracking/trackers/udp/UDPProtocolParser.kt
Outdated
Show resolved
Hide resolved
server/core/src/main/java/dev/slimevr/tracking/trackers/udp/UDPProtocolParser.kt
Outdated
Show resolved
Hide resolved
…PProtocolParser.kt Co-authored-by: 0forks <[email protected]>
…PProtocolParser.kt Co-authored-by: 0forks <[email protected]>
OK, CI passes, please merge it :) |
Sorry but we are releasing 0.12 without this PR, we have a release candidate system and it's been almost a month since we released the first one. We don't really want to do another release candidate because of this. |
Can you update the PR? |
Do you mean an update from the main? Done. |
@ImUrX I think we could adopt SlimeVR protocol instead of introducing our own. But we would need to add some features.
There is a higher chance that a smaller UDP will be delivered than a larger one. Also, we need to reduce the overall amount of data we send because iOS can kill our application if it consumes too many resources (battery, network, CPU, etc.).
Please, if possible, add #997 and #998 with this MR into the upcoming release v0.12.