I've designed a FPGA VI, with its coresponding Host VI that is working well. I needed to interact with the VI from a C language application. So, I used LabView's Application Builder to build a shared library (DLL). From my C code I use the LoadLibrary and GetProcAddress to make calls to my Host VI within the DLL. Functionally, everything works, i.e. I can control the VIs via my C application. LoadLibrary is called only once to load the dll.
However, for the application in which this is being used, the Host VI method within the DLL that the C code calls takes too long to process. Through debuging, I found that the Host VI method takes about 0.4 seconds to return. I actually went in and created a Host VI method that does nothing, just to prove that it wasn't the Host VI doing some work that was hogging the time.
This is using NIRIO 3.x.x.
When I use NIRIO 2.1.3 the call returns in a very short time (50msec for example).
I can't use NIRIO 2 anymore because it doensn't support windows 7-32 or 7-64, for example.
How can I solve this?
Compilers are Visual c++ 8 and Labview 8.2.
Best regards
Phil Salamone