Background Save in Rhino - possible?

Compression - fair.

Serialization - the ISerializable. I’m actually not sure how many things in GH use that mechanism, nevertheless if you’re after optimization then don’t use it at all… just go with any other better serialization lib from the benchmark. Google protobuf is just the first one which I stumbled upon, but apparently one of the fastest.

Xml - switch the GH’s assembly culture to invariant, we don’t need those fancy letters ;). Use some fast encryption to mix the bytes in the ghx file so it’s not readable without the key :wink:

PS. One of my favorite speed ups recently found is the Buffer.BlockCopy in comparison with Array.Copy, life was never that bright.

I don’t use it at all, except to (de)serialize RhinoCommon objects. GH1 used a custom (de)serialization library, and GH2 will use another custom (de)serialization library. This time around I’m basing the root hierarchy on the zip-archive. This should make it a lot more efficient to extract things like file details, thumbnails and blocks of data from a file without having to read and decompress the entire stream.

I also need a new approach from GH1 because the old library could not deserialize immutable objects.

Joining the conversation,

I’m currently dealing with some huge 2D Rhino files for fabrication (up to 3Gb) at the end of the production process and is a total pain in the ass to have autosave in Rhino turned on. I had to disable it and reeducate myself in saving after each major change for peace of mind. It takes like a minute to save the file as we are working writing the files on the server. If I copy the files locally I could bring down that time but I will still need to stop working the time that Rhino is saving…it could not sound like a problem, but it is.

If there would be any way of bringing background save to RH, it will be awesome for this kind of situation.

BTW, request: Could be the autosave option moved to a “per file” type of option category? In the case that I was talking about before is very annoying to have to turn on and of the option every time that I switch between files. I suppose that it should be some kind of hacky way of creating a shortcut to RH that loads a particular set of options (so I can have to RH shortcuts, one for normal files and other for huge ones)…I have to research a little bit about this.

Thanks in advance.
Cheers.

1 Like

6 And nice red uniforms :wink: ?

Yes
Also … I think this one may have already been mentioned , anyway …
I remember I saw an old 1990’s CAD a few years ago that crashed pretty often ( :wink: ) … but … you lost nothing of what you had already done, except the last, failing command.
Obviously the program was constantly saving, but that ( apparently ) had no effect on its speed.

This is what I miss in Rhino, because:

  • Autosave gets in the way, stopping you at ‘random’ times … very annoying, so I disable it.
  • Then I save manually, but … obviously … sometimes I forget do save … and sometimes Rhino crashes, or I have to stop it because a command/script never ends …And you lose all you did after the latest save, obvoiusly … :frowning:

A feature that could save all we do without slowing down significantly Rhino or stopping it would make modeling much less … anxiogenic, IMO … :wink:

Thanks

1 Like

Waiting for the file to save is perhaps the biggest bottleneck in Rhino these days for us. It is not uncommon to work on 1GB or larger files - they perform great with the fast display etc. but saving is a real drag, even on a very fast PC with SSD HD…
Autosave gets in the way, too, but since Rhino is not crash-free, a good habit to save every 15-20 min or when major step has been completed in the model on larger files really kills the joy having to wait 2-3 min for the file to save. I hear Mac version doesn’t have that problem since background save it somehow system-supported. But how about PC? I can’t imagine bigger productivity boost for Rhino now, that would affect EVERY user, no matter what they do with Rhino…

I know you guys @ RMA ‘love’ other software comparisons, but… Adobe Photoshop has this feature from CS6 version (2012) on PCs… It pretty much enabled working on huge files there seamlessly because once we hit ‘save’, the status-bar progress shows file saving, but users can keep working in the file! How awesome would it be in Rhino? I saw the discussion above here getting very technical… in the end, if there was one thing to look forward in for us V7, it would be background save…

AFAIK, this wish did not even make it to YT… Who do we send cookies to this time ??

–jarek

3 Likes

Hi Jarek,

I couldn’t find anything on YT so I added RH-55380.
(You need an address for 'em cookies ;ø) ?)
-wim

1 Like

Hi Wim,

thanks! I can sleep now knowing it’s there :wink:
I was not clear about the cookies - they were offered for anyone to work on this, but if it happens you get your share… I promise.

-j

1 Like