From Bounce Metronome
Synchronisation Delays (Latency)
This is the most common thing that happens with Bounce Metronome. The sound may be delayed so that you hear every sound a moment or two after the visual bounce.
The default midi synth on Windows is the Microsoft GS Wavetable synth. It's good in many ways, good timing and good at playing fast notes. But it has massive latency on many computers. This means the notes are in time with each other but delayed so the sound is behind the visuals.
Most often the latency is around a fifth of a second, or it can be a tenth of a second. That's huge by modern standards. On other computers it may be almost no latency at all.
To fix this go to Bounce Options (Ctrl + 220) and switch on the Bounce Synchronisation Delay, and set it to 20% of a second (or 200 ms). If that's not quite right also try 10% or adjust by hand until you get the visuals in sync with the sound.
You probably won't get any noticeable latency with DrumCore, or Studio Drummer or other drummer software. On a modern computer, it's just an issue with the Microsoft GS Wavetable synth. There might be small amounts of latency of at most a few ms with the other synths, you can adjust the delay if you are particularly sensitive to visual / sound latency but for most musicians it's probably not needed, you just get used to it and don't notice it at all.
Visual timing glitches
If the bouncing balls hesitate momentarily, then you can deal with this in the More (twice) version of Bounce Options (Ctrl + 220).
With Set maximum load for computer - so long as you have you have a dual core or multi-core machine as most are nowadays you don't really need that option - switch it off to give the visuals as much CPU as you can.
In the same window, you can use "Animate only one window at a time". Usually when you are using the 3D Bounce you don't need the 2D bounce and vice versa. This option will only animate the window you are working with - the active window. This means - the window with the title bar highlighted. You can activate any window with a click on its title bar.
You may find that the 3D bounce uses much less CPU than the 2D bounce if you take a look at Bounce Metronome in Task Monitor (Ctrl + Alt + Delete). On some machines it may be the other way around and the 2D bounce may use much less than the 3D Bounce.
Another thing you can do there is to increase the Animation Frames priority. On a multi-core computer should be no problem setting that to Highest and even time critical is okay. Also boost animation frames to high priority class, and it is worth trying the fast timer too.
Sound timing glitches
How to confirm them
Midi Event Timings
The, easiest way to confirm is to record to midi while playing live. Then in the More (twice) version of the Record to Audio window choose "List all notes in file".
For each note it will give the time from the start, and the increment from the previous note, as an exact time in milliseconds.
You can try it two ways. First select "Use desired times for recording" - this will show the times that Bounce Metronome is trying to achieve.
Then unselect that option and you will see the actual times.
This is of course the time that Bounce Metronome sent the midi event to the soundcard or synth, not the time it was actually sounded which may be later due to latency, and may sometimes have micro-timing glitches too e.g. due to audio dropouts.
Waveform Audio Event Timings
To get an idea of when the note was actually played, you can record to audio as you play and then inspect the audio recording carefully and measure the distance between the note attacks in the file.
Other software that may interfere with the timing
It's best to have as little else running as possible.
- Web browsers may well hog the CPU momentarily and cause timing discrepancies.
- Anti-virus may do this too. You probably don't want to switch it off if connected to the internet, but it may help to temporarily disable real time scanning.
- Any background scheduled tasks need to be paused or stopped. Especially, anti-virus scan of system.
- Indexing Service may well interfere with the audio too. Though you would expect it to only run when the computer is idle - on some computers it may kick in and use nearly 100% CPU from time to time and could interfere with midi playback.
How to disable Windows Search
Simplest way to do it: go to Start >> Services in Windows. Then find Windows Search and right click, then choose Properties, and under Start up type choose Disabled.
To switch it back on again after testing, same process, this time choose "Automatic".
If it makes a difference, then you may want to keep the indexing service switched off whenever you play the metronome. Or you may find it helps to reduce the amount of work it does.
For more about this see: Speed Up or Disable Windows Search Indexing in Vista (at howtogeek.com)
Then, try Task manager and see if you get anything else which goes to the top of the Processes list when sorted by CPU.
Driver issues - DPC Latency Checker
Some drivers may also have this effect though a bit more techy and harder to do anything about them.
To try to find out more get the DPC latency checker. Do you see any red spikes? If so see if you can find out what causes them by enabling and disabling possible problematical devices.
Might be WiFi for instance, some people find that disabling WiFi makes a big difference.
Other things you can check
There are many other things you can do to improve the performance of a Windows machine. Here is a thread at cubase about the issue.
Settings within Bounce Metronome
In Midi Out and Save Timing (Ctrl + 58) - it might be worth giving the RDTSC Pentium timer a go (under "Time events using").
In the same window it may help to increase the priority. If your computer is multi-core, then really not likely to cause problems to use the higher settings there.
Even real time critical can be used fine on a modern computer. The tune playing "thread" typically uses the CPU only momentarily for timing, calculations and to send the midi event to midi out - on modern computer won't use a significant amount of time. So it shouldn't really be a problem to use real time critical if it helps.