chuck
chuck copied to clipboard
100% CPU usage for kb.ck example with --silent
chuck examples/event/kb.ck runs as expected and prints the events. chuck --silent examples/event/kb.ck does the same, but at full CPU usage. This is somewhat annoying as I'm using the --silent to disable rtaudio errors for a script not doing any audio processing.
I'm on Arch Linux, using the 1.3.5.2 snapshot.
Hmm. The primary intended use case of --silent mode is offline audio rendering which typically should happen as fast as possible.
It seems nice to support secondary use cases such as running without real-time audio, although its not clear to me how/where this 100% CPU is being wasted if there is no audio being processed and this would entail some difficulty to fix as I assume its somewhere fairly integral to the VM. My recommendation at this point would be to not wait for us to do that and to see if you can get real-time audio working, even if you are not using it (I would try both linux-alsa and linux-pulse if you havent already).
Not that you asked, but I also wonder if ChucK is the right tool for the job if you are not using audio processing and are using a system where RtAudio (apparently) works poorly.
It's most definitely not the intended tool for the job, I'm currently writing a MAL implementation with it. I'd still be curious though why this happens. Maybe it's because with audio enabled, the VM will always sleep, but without it, just execute things as fast as possible?
Yep, the VM normally is time-limited by the underlying real-time audio interface. Without that it just generates audio (or no audio) as fast possible. But Id definitely call it a bug that in the absence of audio, or in the presence of other internal timing constraints (real-time input e.g. KBHit in your case), it continues to use 100% CPU.