Page MenuHomeFeedback Tracker

Optional parameter to enable compression on publicVariable calls.
Reviewed, WishlistPublic

Description

The publicVariable command is an incredibly useful command for sharing complex data in Arma, but with complex data comes large data size. Often this data is repetitive and the size of it could easily be compressed for transit, saving bandwidth and minimizing sync issues.

I would like to suggest adding an optional parameter to the publicVariable commands to allow them to send data in a compressed format. Making it optional would allow current implementations where the command is called in quick succession to remain computationally fast, where as this new optional parameter would allow one time, or periodically called commands that might send larger data to use compression, sacrificing minimal CPU time for a quicker and more reliable network transfer.

An example of where this would be useful is in the next version of ACRE, ACRE2. All data shared about unique items, radios, etc. Is synced across all players as the game progresses. This is small amounts of data shared via publicVariable as the state of items change (changing settings on a radio, dropping a radio, sharing a radio, etc). All of this information is passed through the server, where the server stores a master copy. When a player joins in progress that JIP player is then sent that master copy, so they have all the latest stateful information. A lot of this data is repetitive, with a number of fields the same across the data structure (for example the presets of a radio channel, where everything save for the frequency is the same for dozens or hundreds of entries). Compression would greatly cutdown on the transfer size, which in testing, even with just two people, can reach a couple dozen to hundreds of kilobytes in a very short time.

Details

Legacy ID
37677524
Severity
None
Resolution
Open
Reproducibility
N/A
Category
Feature Request
Additional Information

Having inspected packets during debugging sessions on publicVariable/setVariable in the past I have noticed that the data remains unencoded for the most part. If there is a level of compression there that I have missed please let me know so I can adjust my calculations in ACRE to better work out performance details.

Event Timeline

Nou edited Steps To Reproduce. (Show Details)Jun 4 2013, 9:37 PM
Nou edited Additional Information. (Show Details)
Nou set Category to Feature Request.
Nou set Reproducibility to N/A.
Nou set Severity to None.
Nou set Resolution to Open.
Nou set Legacy ID to 37677524.May 7 2016, 2:25 PM
dedmen added a subscriber: dedmen.Sep 13 2017, 1:43 PM

I have noticed that the data remains unencoded for the most part This can't be true anymore. Any traffic is now encrypted.
Not sure if network packets are alsocompressed though.