Re-doing the evaluation
While the macro runtime is working on screen recognition, the host application is working on updating the session window with the new application screen. In the example scenario, the host application is updating the session window so that it displays the Utility Selection Panel (see Contents of macro screen Screen1 and Contents of macro screen Screen2). This process takes some hundreds of milliseconds and may require several packets of data from the host.
This situation explains why the macro runtime temporarily stops working on screen recognition until the screen is updated. If screen recognition has failed, the reason may be that the new application screen is incomplete. Therefore the macro runtime waits.
Each time that the OIA line is updated or the presentation space of the session window is updated, the macro runtime again makes a pass through the list of valid next screens, trying to find a match to the current application screen. If no match occurs then the macro runtime waits again.
The macro runtime may go through several cycles of waiting and re-evaluating before screen recognition succeeds.
Eventually enough of the new application screen arrives so that the macro runtime can match one of the macro screens named in the list to the new application screen.