I recently converted a rather large display that I had been loading as external HTML to a webCanvas. Its a motion sensor report from the WebInterface for the XTension home automation software for the Mac (all of which is written in Xojo by the way, most of it anyway, some of the low level device drivers are more traditionally built, http://MacHomeAutomation.com/) The control displays and updates fine, but I feel like i should be able to speed it up. The individual draws are fine, not too slow, but there can be lots of these on a page and then things really slow down. Am I right that there are several back and forth trips to the browser before I get anything drawn? When I call the invalidate the control is that a command to the browser which then generates the paint event with another round trip and then I send back my drawing instructions? I am playing with setting a webTimer with a short duration to keep the browser checking in with the server but so far that hasnt seemed to make a difference. Or should I be calling refresh rather than invalidate? It also seems that each one loads individually with its own separate server connection. Most other things seem to group several into one transaction, but it seems that the paint events are all sent separately? Which really slows down loading a lot of them. Thats just my impression from watching my logs where I call the invalidate for them all in a loop and then I get the paint events one after another as they redraw. I expected to get all the paints, or most of them in a row and stack up all the outgoing data which would draw in the browser just as fast as it could. I know that would make it take longer to begin drawing. I just dont understand these well enough yet to figure out how to make them work well. Whats the actual sequence of events for a WebCanvas?