12-19-2021 02:54 AM
I am making a quick drop tool and it appears that a for loop with parallel iterations turned on isn't actually running in parallel when called from quick drop.
I have also added it to the LabVIEW IDE Tools run time menu and it runs fine if called from there.
The symptoms when called from quick drop are:
- Much slower execution
- CPU usage only utilising one core
Anyone have any ideas? I am wondering if however quickdrop calls my VI is causing it run in the UI thread for some reason. I can't think why that would be.
Solved! Go to Solution.
12-19-2021 08:09 AM
12-20-2021 01:44 AM
Or the problem might be in the way QDs are invoked. If it is invoked as UI threaded top level VI you would see this since all the subVIs by default execute in that thread too. While there are likely reason why QDs are invoked as they are, you may get around it by putting the relevant code in a subVI and assign it explicitly another specific execution system than the default to execute in the callers execution system.
That all said I don’t feel that QDs are a good place to put parallel loops. The first letter in QD stands for quick and starting a function that makes a significant difference if execute with parallel loops or not, is anything but quick.
12-20-2021 02:10 AM
I had never noticed that you could se the preferred execution system of a VI but that has worked.
I guessed that it was been forced into the UI thread I just didn't know why that would be happening.