Cpu Utilisation

lo folks,

im using renoise since the very first alpha version and im realy realy going well with the stuff you guys are doing. respect :) … any update was a realy enjoyment for me.

but still i have two things on mind. i know its basicly a user problem but then again I think its not a big deal to do something about it. i tell you whats happening to me … kinda often.

i dont use alot DSP in my songs but those i use eat alot of my … not very fast … CPU. I even dont bother mastering my stuff in another software since i can just get everything I need on the master track right inside renoise. now you can imagine i cant play the song in realtime with all kinky stuff turned on. so i turn it off =) and track on. well, i even dont playback all the tracks at one time to keep my CPU chilling, low latency and realtime midi recording. works fine, but then i render my master. i turn all teh sh1t on and press ‘render’. song is fine, cool, close renoise, “eh? ‘save changes?’ … yea sure, do it”, go get a beer.

now i have a saved .rns with all the CPU eaters turned on. here is the problem. when i load this track again, its initialising every single track and the signal processing goes up, CPU down and guess what. the whole system is freaking close to explode while loading and it takes like ages (i mean up to 30min. on my 2ghz 1.5gig ram machine) to get all the samples and whatnot loaded.

solution: turn the freaking DPS stuff off before getting a beer! … and get a fast and smooth loading afterwards.

so my question is: is it realy necessary to init any track signal at loading time. can’t renoise just ‘realy’ mute the tracks when it loads up? … i mean even when i mute everything but … well … master track, save, load, it crackles and pops and makes funny noises walking through every track while loading. loading … opening … and muting the tracks again (or simply setting them back to the state when saved). even then the DSP already started so I have to push ‘panic’ (my favourite button in renoise btw) to get started.

basicly it wouldn’t bother my CPU when renoise wouldn’t toss a signal through the tracks while loading. i think you know what i mean.

:blink:

or

when i do config -> audio -> lowCPU it literally disables all the DSP/vst/vstI/whatnot. but … again … i switch to lowCPU and load. renoise seems to restore the cpu usage config saved in the config (? presumption). scratch the trackmuting, just force renoise to switch to lowCPU while loading .rns files.

alright, thats the first issue.

let me tell what my other problem is. this is actualy even more annoying :/. its also just a user-dumbness-problem but let me describe it.

when i do my master-rendering, save the song and load it i have already a high CPU usage. I learned i have to push the panic button but sometimes it goes like this: “oh great finaly loaded <_< (cos the other problem)” … and I press playback (BAD!). even before i realised whats going on, and its not just to late cos the 3 beer i have drunken while watching the loadingstatus, my CPU goes through the roof and the whole PCI-bus is starting to beep and bleep and crackle and the mouse is freezing, the gui is freezing, everything is freezing!

alright, no big deal. push the little button and reboot. load the .rns again, get another 3 beer. you dont push the playback key again.

thats actualy not the problem, you can imagine its not a big deal. i mean in the end its my crappy slow CPU and me forgetting to do the stuff in a proper way.

but

imagine what happens when you spend like 3 hours tracking, you didn’t realise how fast the time went by so you didn’t saved your work yet. right. autosave is turned off cos its starting to save right when you think your midirecording was just teh sh1t. … and then … by mistake … you push the wrong mousebutton and unmute all tracks while playback. “EEEEK” freeze! “omgoose, my track!!11oneone, oh noes”.

solution: jam your spacebar with a beer mat and go buy more beer, take a shower, make a pie, build a house, come back and see renoise ‘might’ stoped spamming ‘playback this stuff you crappy computer’. save your track.

i dont know if you can do anything bout that problem. ofc you can’t just control the CPU usage since any vstI is bypassing this anyway.

but

is it possible to start a background thread, one watching the CPU or whatever and pushing the panic button or a combo move like stop+mute+lowCPU+panic (you know what i mean) automaticly ? i mean, if this tool would watch the renoise-GUI-refresh-rate for example and just do the trick in a special case. a case like “last refresh 2 min. ago, we better stop now” or something. i have no clue if you can see how far the CPU goes over the top or if you can watch information about the memory slack flow or what not.

thats it, i mean in the end i learned to work around this problems. i just think renoise is working with me very good for some reason. its : i dont need to think about anything else but tracking and doing the music while renoise is doing everything else. dont get me wrong, on the one side its waste of time and whatever thinking about ‘the cpu usuage and where to click’, but on the other side you always have to do that a bit. anyway, i would just be more more then happy if renoise would help me with that crap a bit. ;)

ok, many words, less said. thanks for reading :). i’ll get a beer. renoise for president! :yeah:

cheers - basil

ps: when will we get the crazy-huge-sample-playback-support ? you know, automatic-offset-sample-playback. =)

Very funny to read! You have my condolence. :lol:

I’ve never noticed such a behaviour here, as far as i remember, no song would take longer than a minute to load.

Some things i would try:

  1. Disable automatic song playing after loading.
  2. Set the windows pagefile to a fixed size and move it to another harddrive.
  3. Disable virus scanning software.

heheh, thanks.

  1. did

  2. did

  3. did not

  4. i use asio4all. while using low latency, freezingprobablity is higher and CPU usage is also higher. so i use high latency while loading ‘CPU-hungry’ tracks. thats actualy why i started to think about this stuff, i mean. audio playback latency = loadingtime. hmm.

Thanks for the detailed report!

We have three problems here:

One is that all effects are enabled by default after loading a song: Renoise suspends effects which dont have to calc anything. This is true for VSTis, VSTs and internal effects. When instanciating those they will by default not suspended, to avoid that VST which could trigger themself (those who have an own sequencer - like Reaktor for example) will not be muted. Not many VSTs (and no internal effects) will behave like that, but still some VSTs could, so I dont see a chance that we could change this behaviour globally.

The second one is that the GUI is unresponsive when using too many effects (as a sideeffect of the first problem). We could solve this by doing an “auto-panic” when the CPU is for example over 85 percent for at least two seconds. Would this help? Has anyone a better idea? Giving the GUI (including moueclick and keyhits) the same priority as Audio is a bad idea. You dont want to waste CPU cycles for drawing the scopes, when you have to share them with a super duper audio effect that wants 80 percent of the CPU…

The third one is that the low/high/mid CPU settings are at the wrong place. Yes, they are saved with the song, and simply didnt made it into the “Song Properties” tab because there was no space for them. Shame on me. Thats damn confusing and should be fixed asap.
It is not a preference, but a song property, because songs will sound different when loading them in differnet modes.

i dont know if a 85% CPU threshold is good, might just stoping the normal playback.
can you see the ‘overload’, like CPU@120%+ or something like that; maybe a user-defined threshold when to snap in.

the gui thingy wasn’t ment that way. don’t force renoise to render the GUI all the time by higher priority but watch the FPS (if you can) its rendered at. i mean its obviously something wrong when its down to 0.01 FPS ;)

the other thing, you re right. it appears only if you use effects producing noise by themselves (i think). but then again, you can mute the track and its gone. maybe im wrong but you might solve this problem globaly with muting all tracks while loading. :blink: don’t you?

:yeah: