So I'm going to modify the current async to use fully-fledged python async. This will allow the render loop to not be blocked while waiting for data, it can also handle fast slider movements and better cancelling I think. This will also allow window_funcs and the spatial_func to also be async (provided they use numpy or something in them, which should cover most use cases). It takes ~8ms to calculate a mean average of a 33x1024x1024 array so this is definitely worth it.
Should just use threading for the window_funcs and spatial_funcs async, using a process adds impossible barriers/complication ,ex: need to import all necessary modules in the other process etc.
So I'm going to modify the current async to use fully-fledged python async. This will allow the render loop to not be blocked while waiting for data, it can also handle fast slider movements and better cancelling I think. This will also allow
window_funcsand thespatial_functo also be async (provided they use numpy or something in them, which should cover most use cases). It takes ~8ms to calculate a mean average of a 33x1024x1024 array so this is definitely worth it.Should just use threading for the
window_funcsandspatial_funcs async, using a process adds impossible barriers/complication ,ex: need to import all necessary modules in the other process etc.