This one really came outa left field this morning, and because it made no sense initially I thought I'd pass it along in case it helps somebody else.
I inserted Ozone 6 into the master bus of a project that had previously been using Ozone 4. When I played back the project, a Kontakt instrument that plays solo in the intro began dropping notes. The connection between Ozone and dropped MIDI wasn't obvious, and it took some experimentation to convince myself of it.
First, I increased the PumpDataMSec parameter in ttsseq.ini from 750 (default is 500) to 1000. That brought the missing MIDI notes back. Then I started looking around the system to see why this behavior had come on so suddenly, e.g. a virus, or Microsoft surreptitiously starting my Windows 10 update. But there was nothing out of the ordinary going on.
Then it occurred to me that the only change to this project had been Ozone 6, so I put PumpDataMSec back to its original value and verified that the dropped-notes problem returned. Then I merely bypassed Ozone 6, and to my surprise the problem went away. I started disabling modules, but the problem persisted even with them all turned off. I then proceeded to turn off individual features one by one, when to my surprise the dropped MIDI notes started playing again when I disabled the transient enhancer.
My first theory was that the transient enhancer might increase the plugin's latency to the point where it exceeds the MIDI buffer size. But reducing Ozone's latency didn't change anything. Second theory: the transient enhancer just pushed CPU usage over the edge.
The difference on the CPU meter is 49% with it off versus 58% when it's on. Bypassing Ozone drops CPU to 32%. Interesting, because Ozone 4 barely nudges the meter when it's switched in and out. I went back to some other projects in which I'd been experimenting with Ozone 6. The first one turned out to be typical: with Ozone bypassed, CPU was 16%; with Ozone enabled, 45% (!). Ozone 4, however, only increased CPU usage to 18%. (All tests done at 44.1 with 2048-sample ASIO buffers.)
Conclusions:
- Compared to Ozone 4, Ozone 6 is a
serious CPU hog
- The transient enhancer and IIRC 3 are #1 and #2 biggest offenders
- I'll be leaving PumpDataMSec at 1000 from now on
- I'll avoid the transient enhancer and use Pro-L's Dynamic mode instead if I feel the need for transient boosting
- Having the exciter and imager as separate low-CPU plugins is going to be very useful