According to Adobe’s documentation found here, there are 3 parts to runtime code execution: events, the enterFrame event, and rendering. Events, it says, are processed during the first part. It then states:
“If events occur during other parts of the execution cycle, the runtime queues up those events and dispatches them in the next frame.”
However, when I’m seeing a low framerate, and lots of input events occur (say mouseclicks for example), those events are sometimes not executed until several seconds and 10s of frames later. For example, I’ll click 20 times in a second and for the next several seconds I can watch those events play out on screen instead of immediately. According to that documentation, all my mouseclicks should be processed on the next frame and the event queue should then be empty (assuming I don’t click during the next frame). This problem only occurs in Firefox and Internet Explorer. Chrome, Safari, and the standalone player behave correctly, in that they process all input events on the following frame.
Why is this happening? It seems like the Firefox and IE plugins implement event handling differently than what is described in the flash documentation, or is it possible the browsers are responsible for delaying the input to flash?