Applies To:
  • CitectSCADA 4.00

Question: I am using the function DspCol() to display various colour fills. When I use this function under Windows NT, Citect runs like a dog. Why is this function so slow under Windows NT? 

The Windows GDI functions Citect is using when you call DspCol() are 7 times slower when running under Windows NT vs Windows 3.11. We have informed Microsoft of this problem and they acknowledge that it is their problem. This overhead is due to the protected design of the GDI engine when running under Windows NT.

The animation engine in Citect version 4.0 has been optimised to work around this problem. The animation engine optimises output to the display by buffering all display requests and then sending to the display in a large block. This will automatically be done for colours displayed with the normal page colours forms. When you call the function DspCol() you are bypassing this optimisation and writing directly to the Windows NT GDI functions. This will make this operation much slower under Windows NT.

You can avoid this overhead by performing all of your colour displays in the animation colour forms as they will be optimised. You may also avoid this problem by using symbols instead of colour floods.

If a future version of Citect 4.x, we will be allowing users to control the buffer optimisation. This will allow you to increase the performance when using the DspCol() function under Windows NT.