Java vision priority?

We have now separated vision off into its own thread (in java). However, I am still noticing lag in our Teleop response.

I suspect that the native NI Vision process is preempting the java VM, as Teleop is at a higher Java priority than our Java Vision code.

Is there a way to fix/work around this?

In general, the vision libraries on the cRIO have a lot of processing to do. So no, you can’t really do anything (the only thing you can do is give more time to the native code from the Java VM… not request more).

I moved our vision processing code to the driver-station laptop (I’m writing my own, there’s also many image-processing libraries around) to remove control lag and get a better response time.

What’s your resolution at? Try turning it all the way down
Also when is your vision processing done?
Try isolating it to just the autonomous or just when a trigger is pulled.