After two days of debugging, I finally spotted the problem:
In _OpenADCInterface.py you find the following code:
while ((status & STATUS_ARM_MASK) == STATUS_ARM_MASK) | ((status & STATUS_FIFO_MASK) == 0):
status = self.getStatus()
# Wait for a moment before re-running the loop
diff = datetime.datetime.now() - starttime
sleep(0.05) code slows down capturing.
Because the GUI version is slower as the command line version, the while loop will never be executed! Therefore the sleep doesn’t matter here.
But on the faster command line version, the while loop will be executed once! Therefore sleep code is executed and waits for 0.05 seconds, which is twice as long as the GUI version needs.
By setting the sleep to a lower value (e.g. 0.01) acquisition on the command line version gets far faster then on the GUI version!