System information
9.1 VGA Function Performance
Impact of the Dirty-Regions Function on the PCI Throughput
The build and the transfer of the VNC screen content is time consuming. To improve the
processing time of the VNC server and the transfer of the VNC data to the client, the VNC
server only rebuilds new VGA data content into a VNC framebuffer. On this account, the
VGA driver provides a map which marks the part of the screen that contains new data.
Thereby, the screen content is segmented into regions of a fixed size. In this process, the
driver inspects the incoming VGA requests and marks the corresponding regions as changed
or so-called dirty. But the dirty-region function has also drawbacks. The write throughput
to the CHARM decreases, because every write access is inspected to set up the dirty-region
map.
Figure 9.4 shows the throughput to the CHARM with the usage of the dirty-region feature.
In contrast to the graphical mode, the dirty-region map for the alphanumeric mode is
managed by the VNC server. The reason of this is that the VNC server should only cache
the characters (not the pixels) of the screen content and compare with the new ones. In
this process, the VNC server compares 80×25 (screen size) characters and 80×25 attribute
values instead of 720×400 pixels. The result of the comparison forms the dirty-region map.
Hence, the alphanumeric modes allow the highest throughput to the CHARM. The other
video modes provide nearly the same throughput. In this process, the generation of the
dirty-region map is the bottleneck of the write performance to the CHARM. The number of
used video planes does not have a relevant influence anymore to the throughput. However,
the dirty-region function improves the speed of the generation of the VNC framebuffer and
decreases the data size of the transfer of the screen content to the VNC client. Section 9.1.4
discusses the frame rate of the VNC server.
The throughput to the CHARM determines the maximum number of frames per second
of a full frame update which can be send by the host computer. Figure 9.5 shows the input
frame rate to the CHARM corresponding to the video modes. The frame rate is calculated
with the screen size in bytes and the throughput to the CHARM of the corresponding
video mode. As expected, those alphanumeric video modes (mode 0-3 and 7), which allow
the highest throughput, provide the best input frame rate. Furthermore, the screen of an
alphanumeric video mode contains 80x25x2 bytes (characters and attributes), whereas the
screen of a graphical mode has a size of at least 15 KB (video mode 4,5). The frame rates
decrease with the screen resolution till nearly 2 frames per second for a full screen update
using video mode 0x12.
9.1.4 CHARM Graphical Output Performance
The display of the host computer is provided by the VNC server and it is updated every
fixed 50 ms (equates to 20 Hz). The server reads out the VGA data and generates a
VNC framebuffer. In this process, the resolution of the framebuffer depends on the VGA
mode and the color depth of the framebuffer is set up by the VNC client. The underlying
121