There are compression settings that trade speed for % compression. Could probably get 80% compression with no visible slowdown.
I like the XML format for its readability and cross platform use, but it will never be space efficient.
Sent from my DROIDX using Tapatalk 2
since i work with all the sequencers, i like xml to be able to hold header data like song name, frame timing .etc. I really dislike xml for the actual data of the show. It is only partially because of the file size (a 3 minute song on my 12,000 channels is over 1 gigbyte in LSP, LOR uncomrpessed as compared to 45mbytes in xlights xseq format). It is the time.
xlights can load the above 3 minute song in 1 second. Lsp, LOR and hls takes 10's of second to minutes. My 3 minute song has 43 million cells of data on my tree. LOR adds 20-30 more bytes of info for each cell, LSP adds up to 100 more bytes per cell. When reading this you have to parse and determine what that one byte of data really should be. Do this parsing 43 million times.
Vixen 2.1, HLS and xlights stores the 43 million cells of info as an array.
xLights stores the data as a binary write. A single call writes the entire song. A single call reads the entire song.
Sub second to write or read.
Vixen stores the data as base64. 5 seconds to read the data, 1 minute to write. Vixen 3, BTW, will not store data as base64 but instead is storing the high level display elements as xml. I fell this is going to make long load times. I havent tested it yet.
HLS stores the data as space delimited 24bit words. > 1 minute to write, > 1 minute to read. This is for the Nutcracker hlsnc file format. I have not tested the HLS write and read speeds inside of HLS.
Just try , as a test, making a 8-16K channel sequence. Try it in the sequencer of your choice.
I wish i had LSP msq and asq file formats so i could finish the complete comparison loads.
xml for storing the actual show data is not very scalable. I will have 16K channels this year. 20-24K channels next year. I am hoping to see if Vixen 3 will at least offer to save sequences in the xseq form besides their high level xml form.You dont want to be rendering your song at show time.
thanks
sean