In my blender python script I have a function which reads data from a serial port then moves the position of an object based on that data.
I use bpy.app.timers.register
to loop the function every 0.01
seconds. It needs to run frequently in order to update the position in realtime.
Blender is noticably slower when this is running (such as if you move the view around).
I suspect bpy.app.timers is running on the main thread and blocking other core functions.
Is there a way to run the loop on a background or low priority thread so that it does not interfere at all with blender core performance?