Page 1 of 1

Posted: 15 Apr 2009, 22:38
by nelson
hi

today I considerate how slow is patch with many wires versus the same structure made in c++ SDK ... its nothing new - it must be slower ... but I have rather big subpatch with many wires but very simple math modules and some array operations (+,-,abs,*,etc) it costs about 3% of CPU .. but if I multiplicate this subpatch few times everything getting very sloooow.... making every new wire is 2 seconds waiting for refreshing ... its slow (compare to max or pd)

the same structure as user module in c++ is 0.15% of cpu and i can multiplicate it how many times I need.

i now that usine is generally rather fast ... but its possible to improve performance of wires comunications? big patches can be realy slow and getting slow very fast - few subpatches are enough.


sory im not english nativespeaker :)

best regards
nelson

Posted: 15 Apr 2009, 23:09
by gurulogic
I have found the same thing but dividing the patch into subpatches seems to remedy the problem. My guess is that Usine has to refer to the entire content of the current patch when adding wires etc. so when any one patch gets too big, things slow down.
I wonder too if it the way that undo works that causes the slow down? Perhaps whenever a wire is added the entire patch has to be analyzed to store the undo values?
These things are just a guess, as I really don't know...The next version is supposed to come with new memory optimizations, so maybe that will help?

Posted: 16 Apr 2009, 21:55
by senso
It's'only a matter of undo storing. It doesn't affect the audio processing.

Posted: 16 Apr 2009, 22:03
by 23fx23
but does it mean we d better subpatch parts to optimise when running no audio (midi/data) ? it often add wires to subpatch no?
also I prefer subpatching for clarity/debugging, wonder if those extra wires have signifiant inpact on Cpu/speed.. also have a veeeryy long refresh on my interface top parent patch when having 8 tracks patch, sometimes 10-20 s per wire !, whereas it's fast in subpatch level... any tips to reduce?, turning off don't really help as i would have hope

Posted: 18 Apr 2009, 11:18
by senso
sub patches are generally less efficients but because of additional in/outlets and wire you have to create. but it can be insignificant.

Posted: 15 May 2009, 22:31
by gurulogic
Maybe someday we can toggle undo on and off so that we can avoid slow wiring?
Right now I have a couple of hundred comma text inputs to rewire because I had to change some things and each one takes 5 seconds plus the one second to make the actual connection..

Posted: 16 May 2009, 09:11
by senso
Usine is more designed to have several small patches on the grid than a single huge patch.
so try to split you patch into several small patch and make them communicate with the normal routing in grid mode or send/receive buses.
Also, generally it's a better approach for the maintenance of patch, like in programming stuffs : you split your routines into a collection of sub-routines, etc.

Posted: 16 May 2009, 20:02
by gurulogic
senso wrote:Usine is more designed to have several small patches on the grid than a single huge patch.
.
I didn't really know that when I first started this patch. Now it's a big patch and I have tried to split it into two patches but when I cut part of the patch to paste into a new patch, not all off the interface items remember their size and position correctly so I have left it as a large patch, besides I prefer the overview for editing how I have it.
Anyways, an option to turn off off undo was just a suggestion as I usually have no use for undo and it seems to slow things down...

Posted: 17 May 2009, 01:00
by woodslanding
I would agree that undo is something I could live without, esp since it doesn't remember layout and graphic changes.

I save usine very regularly, and save all my subpatches independently anyway

so I would +1 for option to turn off undo. I would leave it on, but turn it off if patching gets slow.

-e

Posted: 17 Nov 2009, 20:47
by gurulogic
Sorry to drag this old subject up again but now I am using a SSD drive which needs to have as few erase cycles as possible and every time I do anything in Usine, a new file is written to my drive, so an option to disable autosave/undo is even more important now! At very least an option to move the Usine "Temp" folder to another location would help.

Also, I don't know why it is necessary for Usine to do a lengthy save of all current patches when exiting the program, especially when I have autoload disabled?

Posted: 17 Nov 2009, 21:06
by woodslanding
I would second streamlining the shutdown process-- maybe an 'autosave on close' option that you could disable?

I always have to go through the save process twice, as I don't want to depend on the automated save that usine does on close. That data could get lost later if you open up another wkp, and then close usine. So I always deliberately save my wkp first. This takes about 60-90 seconds (lots of kontakt data!) so my total shutdown time is about 4 minutes. When you are in a bar praying nobody unplugs your power, this can seem very long!

I also don't use autoload, as it doesn't load the most recent version of the wkp if there was any trouble in shutdown the last time.

(But maybe this has been fixed even in the latest V4? Senso did mention shutdown times).



-e