>>3 Reaper does not delay Midi (or shift Midi timing vs audio timing) as long as the midi stream stays in tracks. If the Reaper Control Path (e.g. via "learn" ans or Midi Device "control" checked) is involved, timing can be problematic, as same lives on the non-realtime GUI thread of the program.
Reaper just propagates Midi with the audio buffers. Audio is timed, as each sample has a dedicated position in each buffer. Hence the plugin can work appropriately. Midi is timed, as each Midi event comes with an "offset" that defines the according sample number within the buffer. Hence the plugin can work appropriately. But not all do this correctly.
Of course with outboard equipment things get complicated as the USB Midi and audio interfaces are involved. E.g. it's known that Midi via USB might result in a varying Midi delay, as the Midi messages are embedded in USB buffer transfers that might be forced to an unrelated timing due to other stuff running in the computer's OS. Using USB3 equipment and/or a dedicated USB interface for the Midi hardware might (or might not) help.
that delay you have is not attributable to any daw, not reaper, not cubase,not logic etc....
Reaper is fantastic for that purpose, just like any other daw really, because it does not depend on the daw.
That delay is attributable to the hardware soundcard and driver type/specification. Windows with the internal soundcard is not great for this type of real time audio recording and processing. I assume you use Windows Audio and no external soundcard. That is very likely the cause.
You have two options :
-use an external soundcard that has ASIO drivers. ASIO is made for better performance on real time audio and makes a day/night difference.
-download from the web ASIO4ALL , which is a workaround on not having a soundcard that supports asio. I dont exactly know how it works, but it forces your internal soundcard to focus exclusively on the daw tasks ignoring everything else. It gives you a much better performance than stock Windows Audio. Idk how it compares to a dedicated external soundcard. But it works well
Your delay will instantly improve, but you can tune it further with adjusting the buffer size of the soundcard (windows audio doesnt allow you to, you need to have the options I described above).
Setting a high buffer size (like 1024 samples) will give your cpu more time to process the audio, improving the number of plugins you can run, but will give you a certain delay. Setting it low at something like 128 on the other hand will make the delay unnoticeable and you should set it at lowish values when working on recording audio or vst instruments (also depending on how good your cpu is, but either way its much better than windows audio)