From the original SynthMaker forum (2004–2014), with its members’ names and dates.
unkargherth ·
OK.. Very strange. I started work with a fairly big osm ( around 1.7 Mb on disk),. after Ten minutes. left the computer ( with SM open) to go to lunch.
I returned 30 min after and i found a Windows System Message saying that my virtual memory limit was to low. After a while ( 10-15 min) system returned me the control. I'll check task manager and found that SM was using 290 MB of memory and generated 1.7 gb of memory transactions !!!!!
Killed the process, waited to transacctions go dowon ( near inmediately ) and restarted sm. Loaded same SOM and i've been able to work on it like 10 min before same problem
unkargherth wrote: OK.. Very strange. I started work with a fairly big osm ( around 1.7 Mb on disk),. after Ten minutes. left the computer ( with SM open) to go to lunch.
I returned 30 min after and i found a Windows System Message saying that my virtual memory limit was to low. After a while ( 10-15 min) system returned me the control. I'll check task manager and found that SM was using 290 MB of memory and generated 1.7 gb of memory transactions !!!!!
Killed the process, waited to transacctions go dowon ( near inmediately ) and restarted sm. Loaded same SOM and i've been able to work on it like 10 min before same problem
Ok, Thanks for letting us know. Fortunately memory leak are normally very easy to find and fix.
Tom7777 ·
If you are using WTimer modules in the schematic it could be becuase of this and becuase they keep running im guessing the events do also with them. When i first started using SM i asked for the option to start and stop all audio and i think that this would fix this and a load of other things maybe but i don't know if theres any plans for this.
jorge ·
Tom7777 wrote: If you are using WTimer modules in the schematic it could be becuase of this and becuase they keep running im guessing the events do also with them. When i first started using SM i asked for the option to start and stop all audio and i think that this would fix this and a load of other things maybe but i don't know if theres any plans for this.
It's there already, you can start and stop audio in the DirectSoundOut and ASIOout components.
Tom7777 ·
Does this stop events as well or just audio output? i should have said events before and not audio sorry 🙂
unkargherth ·
I'm using some ( ithink 3) wtimers here. but i've took precautions. I included a multiplexer with wtimer messages that throws them into the "Void" (a module with a trigger input and nothing more) when i press a button conveniently labeled "Stop"
Anyway, it's a complex schematic, so posibly something is going wrong on my part, but not SO WRONG to waste 290 Mbytes of RAM ( i least i expect so.....🙂)
jorge ·
unkargherth wrote: but not SO WRONG to waste 290 Mbytes of RAM ( i least i expect so.....🙂)
Definitely. There should be no memory leaks independently of what you do with the application. Really just a question of cleaning it up.
unkargherth ·
Tom7777 wrote: If you are using WTimer modules in the schematic it could be becuase of this and becuase they keep running im guessing the events do also with them.
Would be nice to have a Shreder type module that guarantees the destruction of everything we throw in
jorge ·
unkargherth wrote: Would be nice to have a Shreder type module that guarantees the destruction of everything we throw in
I think most memory leaks are not related to the destruction of components but general temporary memory used for example to setup sound processes etc.
Tom7777 ·
Yeah a module that when activated freezes all events and audio on a synth or effect. It would also be cool to have some sort of CPU readout module so we could try and get it as low as possible when testing/making a synth. 🙂
unkargherth ·
look here for a basic CPU Meter
infuzion ·
unkargherth wrote: look here for a basic CPU Meter
Sorry, that's not a CPU meter; the "CPU speed" is hard-coded. But like I said, some hosts (like Buzz) do have a CPU meter.
unkargherth ·
You're true, but if you forget the percentual part calculation and get only number of cycles, you don't need the cpu speed, You get an etime of cycles per sample ON ANY MACHINE
Anyway i agree that Cycles per sample measures cost, not load, but gives you a fair approximation while you develop
Tom7777 ·
Thanks, but thats not really what i wanted though 🙂 What i want is something like - Current Schematic CPU and SM Total CPU type thing basically to just know whats good and bad for it when testing and developing synths. No inputs just value readouts.
unkargherth ·
Well, I used to do this with two small assmebler calls, acumulating time over a known number of samples ( 1000 or so) and dividing at the end
Something like this
At beginning
RDTSC;
MOV startl, eax;
MOV starth,edx;
... let process 1000 samples....
RDTSC;
SUB eax,startl;
SUB edx,starth;
DIV 1000;
MOV time,eax
But not posible to implement in SM ( from users view) for three reasons
.- ASM Module doesn't support teh RDTSC call.
.- ASM it don't supports Integer math primitives
.- No way to have a global var visible from two code modules (Mmmm. perhaps passing it as integer?)
Wrote something here? To have a post removed or your name hidden, write to [email protected].