Hello RWatson,
To add to others' replies re. audio glitches: do try working through the 'Performance tuning' section in the user guide. (The current v6.0.2 version has the most up-to-date steps in the '
Other operating system and computer optimizations and diagnostics' subsection.) E.g. in particular:
- Make sure that you have a reasonable audio buffer size selected, e.g. 1024 at 96 kHz, or 512 at 48 kHz. (Some PCs can manage 512@96kHz or 256@48kHz without audio glitches, but it's more demanding in terms of hardware/driver timing, and it's more CPU-intensive in general.) Also make sure that the audio driver is actually using that buffer size value (not a different one).
- Make sure that the Windows page file is completely disabled.
- Disable SysMain/Superfetch.
- Make sure that no other audio/MIDI software is running (e.g. in the background), and that no other unnecessary software is running in general.
- Then try leaving LatencyMon (
https://resplendence.com/latencymon ) running (but without Task Manager being open) for half an hour or so whilst Hauptwerk is running with an organ loaded. LatencyMon needs to report that the PC is performing well enough for real-time audio before the PC will be able to work reliably for Hauptwerk (or any other real-time audio applications) at low latencies. A powerful PC is no guarantee of glitch-free audio, even with just a single pipe sounding; the underlying system components (hardware, drivers, etc.) need to be performing consistently together within sufficiently tight timing bounds to avoid audio glitches. LatencyMon often gives a clue as to the source of audio glitches (e.g. PC hardware/driver DPC latency problems).
RWatson wrote:Windows 11 shows about 8 to 11% CPU load from Hauptwerk; however, that's an average obviously. Individual CPU levels are low with < 5% per core usage except for four (of 32) CPU threads - #16 and #17 are 80 to 100% subscribed and when they're 100% they have same periodic pulsing wave frequency (as the Hauptwerk CPU meter) with resulting audio immediately compromised. Also, one of the early cores is heavily used as well (core 0 or 1 --> like 50-80%). The rest of the 32-cores are very low, as I said. I have *not* optimized/eliminated/reduced anything yet - like Internet or other drivers that I'm not going to use.
...
There seems precious little correlation between Hauptwerk's CPU usage meter and Windows 11 CPU meter. Perhaps Hauptwerk uses some threads/cores and takes them to the limit (and beyond).
Hauptwerk's audio-CPU meter doesn't show the same thing as as Windows Task Manager's one; it specifically shows how close the system is to an audio glitch occurring with the audio driver that's being used.
If Hauptwerk's audio-CPU meter is sometimes going into, or nearly into, the red even when few or no pipes are sounding then it indicates that the audio driver/host is calling Hauptwerk too late for Hauptwerk to have time to calculate the audio before the hardware needs to play it (i.e. resulting in a 'buffer under-run'), either because the audio driver isn't performing properly, or because the PC is having underlying hardware/driver timing issues (e.g. DPC latency). LatencyMon should help to identify whether the latter is the issue, i.e. whether the PC and its drivers are performing sufficiently well to support real-time low-latency audio.
RWatson wrote:Windows 11 shows about 8 to 11% CPU load from Hauptwerk; however, that's an average obviously. Individual CPU levels are low with < 5% per core usage except for four (of 32) CPU threads - #16 and #17 are 80 to 100% subscribed ... Also, one of the early cores is heavily used as well (core 0 or 1 --> like 50-80%). The rest of the 32-cores are very low,
A reply earlier in this thread covers the CPU cores that Hauptwerk uses:
mdyde wrote:- Hauptwerk's audio and convolution reverb engines should run distributed across any number of logical cores up to 64.
...
- The MIDI/relay event processing (organ switches, pipe on/off events, etc.) are necessarily serialised to ensure that the state of the organ relay remains consistent.
- Each of the background models (wind supply models, pipework modulation, tremulants) runs in its own thread (one thread per model). That's done since the wind model's time-slices need to be extremely short/frequent (sub-millisecond) and serialised. (It might possibly be be able to gain some performance in the future from further multi-threading the wind model within the time-slices, but possibly not, since the overheads of so many, extremely frequent, thread context switches might exceed any potential performance gain.)
- The first few logical cores are kept free of audio/convolution engine loads, and are instead used for the MIDI/relay, background models, and other threads. If there are 12 or more logical CPU cores then the first 4 logical cores will be reserved for those purposes.
- Hence per-core performance may well become a bottleneck for the achievable polyphony, even if you had a huge number of cores for the audio engine.
vpo-organist wrote:With your power PC, the polyphony limit should be at 32768 (or max).
Hello vpo-organist,
Having the polyphony limit set higher does in itself cause some additional CPU overheads (more voice generators to manage). I'd definitely advise not setting it much higher than you genuinely need, and certainly not having it set higher than the PC can reliably manage (for the relevant samples set and audio quality settings, etc.). The polyphony limit setting is there specifically to stop audio glitches occurring when overloading the CPU, which it can only do if tested and set to a value that the PC can genuinely manage. I doubt that even the most powerful of current PC would be able to manage a polyphony of 32768 without audio glitches with the audio quality options (high-definition pitch-shifting, 96 kHz, etc.) set to the maximum.
I would expect RWatson's PC to be able to manage considerably more than 320 once tuned appropriately, though.
vpo-organist wrote:@Martin: Is there a trick how to set the polyphony to max without "hundred" clicks?
The only way to adjust the limit currently is via the arrow buttons on the Audio, MIDI and Performance large control panel, which adjust it in maximum step sizes of 256, although we do have an enhancement request logged for potentially adding additional means for making larger adjustments faster.
However, as above, one definitely shouldn't have it set higher than the PC can genuinely manage (which will almost certainly be much lower than 32768 with the maximum quality options enabled).
Best regards, Martin.
Hauptwerk software designer/developer, Milan Digital Audio.