SynthMaker

GUI causing audio dropouts

Archive · 2009 4 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

trogluddite ·

Hi All, It' seems pretty well known that the GUI elements can be a bit CPU greedy (press Ctrl-Alt-Delete - set the Task Manager to show Performance - now go mad wiggling knobs etc. - You'll see the CPU spikes) - but has anybody else found that it can cause the audio stream to randomly stop working? Been searching the forum for ages to try and find a Windows setting or something that makes it stop - after weeks of head scratching narrowing it down to the GUI.

Had this problem with two different machines now (each with different makes of graphics processor - so not a driver issue I think) and with SM since the early v1.1s. It's the same whether you're in SM or using a VST or .exe export.

The schematic I'm working on needs a fair bit of visual feedback - animated knobs/level meters etc. All the animated stuff is driven from Tick25 modules, so there shouldn't be too many triggers. Without any animation happening the CPU hit is about 8%. With animation enabled; 25% - a big jump but the CPU is nowhere near maxing out. However, whenever the animation is active, the whole schematic goes dead a couple of times a minute, apparently at random - then, after a second or two of silence, it just carries on from where it left off (with the contents of all the audio buffers left intact.)

The amount of drawing doesn't seem to be the problem (try disconnecting the redraws within the standard controls - CPU hit is still high when you wiggle the mouse). Most of these displays don't have mouse interaction - so is it just processing the green data 25 times a second doing it? - there's only a couple of float to areas and a handful of maths modules. I can understand that calculating the triggers and threading for green data must take some overhead, but I don't see any CPU spikes big enough to lock everything up.

I don't particularly mind the CPU hit as such (and it seems better than it used to be), but completely losing the audio like this means that I can't possibly use any of my creations live on stage - random bursts of silence are a bit avant-garde when you're trying to get the audience dancing like dervishes!

The Luddite

sunsynth ·

Hi,

u have to reduce the redraw-field-size (it's direct proportional 2 the CPU use)!

Use an area-redraw 4 this and reduce the needed x/y-size... Just place a filled-rectangle with a little alpha at this area to show it... the A2F and F2A let u place some floats to change the size and position of this area!

Redraw limiter and a ticker-divider by 3 or DeThreader are here usefull 2...

The 2 sec silence sounds like denormals in your schematic! search 4 it!

trogluddite ·

Hi Sunsynth, Thanks for the quick reply. Pretty much covered those things I think. The area I'm trying to redraw for my level meters is only 1square by 6 squares, and I'm already using area redraws. I did suspect denormals myself at first, but the only difference between the working and not working schematics is the GUI stuff. The DSP alone works fine. The GUI level meter has a stream to float as the front end and then is all green stuff (all of which make the numbers bigger). I'd have thought that if it was a denormal problem, I would have been seeing CPU spike problems all along just from the DSP (I always keep Windows performance monitor on the go when using SM so I can get an idea of green CPU usage). Interesting that you mention the de-threader - I've been using it myself to cure the problem with MIDI threads getting lost - is it possible that this happens also with the stream to float conversion? You surely know this stuff better than me, and I wonder why you mention it in this context. Trouble is that reducing triggers to less than 25/sec makes the meters a bit too sluggish to be useful.

Thanks again The Luddite

MichaelBenjamin ·

how could the de threader help reducing the gui cpu load?

to reduce guicpu, you also can -minimize the graphic to be drawn -use less png frames -make sure it only triggers when an actual new frame needs to be played -lower the maximum retrigger freq

i attached an osm with 2 util modules for things like this

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.