View Single Post
Old 10-06-2016, 04:27 PM   #30
lb0
Human being with feelings
 
Join Date: Apr 2014
Posts: 4,171
Default

Quote:
Originally Posted by lb0 View Post
I've only been using the online version of KM3D - which can be a little slow at times - but ok for now.

I wouldn't make the controls too large - because scaling them down is likely to use more CPU - especially if you have a screen full of them. I would make each knob only as large as you need.

Another thing - I've been rewriting the drawing routines - mainly to improve performance. Although in general it ran very well before (ie. yesterday) - when you wanted to do something like scroll the page - it ate up CPU. So now I have it only drawing what it needs to and having 1 back buffer for the background images and another the controls. Now CPU doesn't spike when scrolling or updating controls - just maintains a nice smooth (minuscule) rate. Sometimes moving a knob will cause the CPU to go up noticeably - but it's the result of the plugin - not my script! (Acon digital - i love your plugs but automating them eats up CPU!!) )

One downside of this - is that the surface is no longer endless - it has a maximum size of 2048*2048 pixels (sorry for those wanting more - but more is fairly crazy unless you have a 4K screen). I have left the code for the endless surface in there - just switched it off for the moment in preference of low CPU usage.

The other downside - is that if you place some controls within the drawing range of another control - (ie. almost touching) - when one of the controls is redrawn - it may obscure part of the other control. In reality - I don't think this is a problem - as long as the knobs fill their width and height correctly - then it's unlikely to be a problem. If you have lots of blank space around a control (for a huge shadow or something) - then you would need to be careful how close you place other controls to it.

Of course I could create another routine to detect control clashes- but not for the first release.
I should add for clarity - even though each surface is currently limited to 2048x2048 pixels - you get 4 of these per track!! And it's trivial to add more pages if requested (just uses more memory to store any extra controls you might add).

I've been working on a few things tonight- and it's getting nearer to ready for release. It pretty much works fine at the moment (just a minor offset problem which took a while to track down - which is now fixed). Obviously - I have no beta testers for this - so the first people to try it will be stress testing it and there's bound to be a few little bugs under the bonnet - but I've not personally had any crashes - except for obvious coding errors which have been easy fixes.
lb0 is offline   Reply With Quote