Fast Display

Top  Previous  Next

ZTERM 2000 generally emulates field terminals. A field terminal uses a character position on the screen to set various attributes and any characters that follow the attribute are displayed with this attribute, until another attribute comes along.

If you want to see field attributes in action, try sending an <ESC> G 4 to ZTERM 2000 (i.e. turn on reverse video). You'll notice that if you do this at position 1,1 the whole screen will be filled with reverse spaces, because there is no other attribute to tell ZTERM 2000 to stop displaying reverse.

Emulating field attributes in Windows is a very complex process because of the way in which Windows applications are forced to write to the display. ZTERM 2000 cannot display characters received from the host as they come in, but rather it must wait until a "paint event" occurs. If ZTERM 2000 were to write to the display as data arrives, it could potentially overwrite another window if ZTERM 2000 didn't have focus or if a portion of the ZTERM 2000 window was overlapped by another window.

Therefore, ZTERM 2000 actually processes incoming data in the following manner:

Pick up a "bunch" of data from the connection. The actual amount received is dependant on the host, connection speed etc.
Parse it and update a "virtual image" of the screen in memory
Mark the bits of the screen that changed as "invalid"
If all or a portion of the ZTERM 2000 window is visible, a paint event will occur. During the paint event, ZTERM 2000 actually writes the text onto the window.
Keep doing this while data is arriving.

Painting the screen in Windows is a time consuming process because the CPU must talk to the video controller, which is always much slower than talking to memory. Therefore, ZTERM 2000 doesn't paint a single character at a time, but rather outputs as many as possible at a time.

The trick is to balance the number of characters that get painted versus the number of characters that are arriving from the host. If ZTERM 2000 paints too often, it's performance is affected and if it doesn't paint enough, the display will appear to be somewhat "bursty".

The Fast Display option (in the Configuration dialog, on the Options tab) allows you to set the paint rate depending on how you use ZTERM 2000.

When Fast Display is unchecked, ZTERM 2000 will update the screen whenever a maximum of 100 characters have been received from the host. If you're a programmer, you'll probably want to have Fast Display unchecked. In this mode, if you execute a DIR/W SYS:, you'll be able to see the entire directory scroll up the screen, because ZTERM 2000 repaints often. However, if your application uses a lot of attributes when painting a screen, the display may be quite slow.

If Fast Display is checked, ZTERM 2000 will update the screen whenever a maximum of 8192 (8K) characters are received. If you use this mode and try to do a DIR/W, you probably won't see all the files displayed because ZTERM 2000 isn't updating the screen fast enough (unless you have a very fast PC and graphics controller), but applications that use a lot of attributes will display significantly faster. End users should have Fast Display checked - this is the default mode of operation.

If you prefer to use Fast Display unchecked, but still want to get good application performance, use the turn screen off/on TCRTs, i.e. TAB(-1,36) and TAB(-1,37). When the screen display is turned off ZTERM 2000 doesn't paint the screen until it's turned back on again and this results in dramatically faster operation.