Time how long the main thread has to wait for the grabber, or how long the grabber waits to be called, allowing automated sleeps (maybe use rolling weighted average?) to automatically try to grab frames so that they're ready just when the main processing finishes (optimal pipeline speed).