Repeated screen evaluations

While the macro runtime is working on screen recognition, the host application is working on updating the host terminal with the new application screen. In the example scenario, the host application is updating the host terminal so that it displays the Utility Selection Panel. This process takes some hundreds of milliseconds and might 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 might 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 host terminal 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 might go through several cycles of waiting and evaluation 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.