The triggering of internal virtual instruments (VSTis) from MIDI keyboards/controllers is very unstable on Cubase 9.0.10 with Windows 10 Home. Here’s a demonstration of the problem. Hopefully the description provides sufficient detail for it to be reproduced. If not, please ask for further details.
As shown below, a MIDI note produced by a Roland TD-15 virtual drum was initially recorded on Track 1. Cubase routed that recorded note (from Track 1) to the MIDI output of a 1st generation Focusrite Scarlett 6i6 interface for “monitoring” during subsequent loop playback/recording. The 6i6’s MIDI output was externally connected to its MIDI input for recording on Track 2. That MIDI input (Track 2) was used to trigger a VSTi on Track 3. The audio output of the VSTi was recorded on Track 4. ASIO4ALL was used with the computer’s internal Realtek-HD sound “card” as the audio interface and the 6i6 was used for MIDI. Additional details of the configuration are available for the asking.
The markers show that the minimum VSTi audio delay (the 48ms delay between Track 1 & Track 4 lanes 2&10) was quite close to the correctly reported ~45ms output latency of the audio interface. Track 4 lane 9 was delayed by an additional 37ms! Other testing that I’ve done suggests that the problem is likely the result of faulty application of the VSTi triggering delay intended to compensate for audio interface input latency.
Any audio and MIDI interfaces and keyboard/controllers would likely produce similar results. In fact, this problem was first brought to my attention by Novikthewise at https://www.steinberg.net/forums/viewtopic.php?f=229&t=111073#p626490. I hadn’t noticed it in my testing with Cubase 8.5 (also reported there). Unfortunately, I can’t try/look harder because my Cubase 8.5 trial period has expired. My son is using the 8.5 & 9 licenses that I bought for him to make music (which I don’t do). Maybe someone else would be willing to do similar testing with Cubase 8.5 (and/or older versions) since Novikthewise apparently isn’t!