PCoIP client-side image caching stores image content on the client to avoid retransmission. This feature is enabled by default to reduce bandwidth usage.

The PCoIP image cache captures spatial, as well as temporal, redundancy. For example, when you scroll down through a PDF document, new content appears from the bottom of the window and the oldest content disappears from the top of the window. All the other content remains constant and moves upward. The PCoIP image cache is capable of detecting this spatial and temporal redundancy.

Because during scrolling, the display information sent to the client device is primarily a sequence of cache indices, using the image cache saves a significant amount of bandwidth. This efficient scrolling has benefits both on the LAN and over the WAN.

  • On the LAN, where bandwidth is relatively unconstrained, using client-side image caching delivers significant bandwidth savings.
  • Over the WAN, to stay within the available bandwidth constraints, scrolling performance is often degraded unless client-side caching is used. In this situation, client-side caching can save bandwidth and ensure a smooth, highly responsive scrolling experience.

By default this feature is enabled, so that the client stores portions of the display that were previously transmitted. The default cache size is 250MB. A larger cache size reduces bandwidth usage but requires more memory on the client. A smaller cache size requires more bandwidth usage. For example, a thin client with little memory requires a smaller cache size.

Setting the Configuration Property

To configure the cache size, you can set the pcoip.image_cache_size_mb property. For example, the following setting configures the cache size to be 50MB:

pcoip.image_cache_size_mb = 50

Use a space before and after the equals (=) sign.

If you specify a value that is less than the amount of available memory divided by 2, the value is rounded to the nearest multiple of 10. The minimum value is 50. Any value that is less than 50 is ignored.

If you specify a value that is larger than the available memory divided by 2, the value is set to the amount of available memory divided by 2 and rounded to the nearest multiple of 10.

You can set this property in any of several files. When Horizon Client starts up, the setting is processed from various locations in the following order:

  1. /etc/teradici/pcoip_admin_defaults.conf
  2. ~/.pcoip.rc
  3. /etc/teradici/pcoip_admin.conf

If a setting is defined in multiple locations, the value that is used is the value from the last file read.

Note: You can set the following property to display a visual indication that the image cache is working:
pcoip.show_image_cache_hits = 1
With this configuration, for every tile (32 x 32 pixels) in an image that comes from the image cache, you can see a rectangle around the tile.
To deactivate the image caching feature, set the following property:
pcoip.enable_tile_based_image_caching = 0

Using the Image Caching Feature

The image cache resides in dynamic memory that is allocated at runtime and automatically cleared when the PCoIP session is closed. You do not need to perform any manual steps to clear the cache.