Hi,
I just realized that data is sent as soon as the virtualwrite call is made. In my project I am seeing most of the processing time taken up by the virtualwrite() calls and blynk.run() executes almost instantly. I am not sure this is the best way of doing it.
I have lots of virtualwrites() going and its hard to estimate the execution time of several timer functions.
I thought that virtualwrite() would store the new data and blynk.run() would send it all (this would be why you should only have one blink.run())
However, the opposite is happening. Code may have lots of virtualwrites (where all the work seems to be done) and blynk.run() does nothing? If the magic happens in the write functions, what does blynk.run() actually do?
Is there a way to defer the writes such that it only happens during blynk.run()?