Hi all,
I am working on a multi-threaded vision application on a
PC with the latest Core 2 Duo processor. I have image data coming over
two TCP sockets, and image processing using the IMAQ Vision libraries.
I have managed to parallelize the image processing, TCP communication, and display functions.
I
have 2 Image processing loops, 2 TCP loops (one for each socket), a UI
loop, and a display loop. Inter-loop communication is via 2 Q's and a
few notifiers.
The image processing and TCP VI's are all re-entrant. The TCP and Image processing VI's are on different threads.
I tried playing around with changing priorities on the VI's but it made things a bit worse.
My questions are:
1 Are dll calls to the IMAQ dll's re-entrant? (probably not?)
2 Can these dll calls be made re-entrant? Would it make a difference?
3 Any way to set two different instances of the same
re-entrant VI on the diagram on DIFFERENT threads?
3 Any other ways I can improve performance?
Thanks for any insights!
Neville.