We're exploring integrating RV much more deeply into our preview & approval pipeline, but I'm running into a problem with RV spinning (using up all available CPU on that core) that makes me think I must be doing something wrong.
We don't have any problems using RV directly from the UI; I can open and close window/sessions, add media, etc. with no problems. However, if I have RV already running, and then I programmatically launch RV (from test programs, for instance), I end up with two RV processes running. And, every time I end up with two RV processes running, the second running process seems to spin (i.e., completely consume one CPU), rendering the system unresponsive. The second RV does not crash; it will, eventually, respond to user input. However, it's comsuming so much CPU as to make the system useless for playback.
In fact, I don't actually want to launch two RV processes; I would really prefer that all the RV windows stay connected to a single process. However, if I launch RV programmatically from other tools, it seems like I'm supposed to use the rv.exe command line, which in our environment seems to always give rise to multiple RV processes.
I've attached a screenshot of the situation I'm describing with the RV processes highlighted in the Task Manager at bottom right. We're running Windows XP 64-bit. I have RV 32-bit 3.10.6 installed locally on my machine; all the other versions I have tested with are being executed directly from a network drive. Below are a bunch of things I've tried to vary; so far none of them have had any effect, it always turns out that if I have two RV processes the second one spins and makes the system unusable.
- It doesn't seem to matter which RV version I use; I've tried everything from 3.8.6 up to 3.10.10
- It doesn't seem to matter whether the two copies of RV are the same version or different versions
- It doesn't seem to matter how I launch either the first or second copy of RV: I've tried from the command line with no parameters, from the command line with parameters, from rvlink: URLs, by double-clicking .rv files, and programatically from scripts.
- It doesn't seem to matter whether I have turned networking on or off.
- It doesn't seem to matter whether I turn the "Desktop Aware" checkbox on or off.
In addition, I am frequently able to get RV to crash on launch when another RV process is running (although I haven't been able to find a reproducible case of that; launching again a few seconds later works fine).
Finally, while I haven't gone back and verified this on every single test situation, it seems that the second RV process only spins when the mouse is over the RV window. Note, however, that the first RV process is perfectly well-behaved even when the mouse is over the RV window. Only the second a subsequent RV spin when the mouse is over them.
Thanks for any tips on where I'm going wrong,
Leo
DuelingRVs.png