The iFIX WorkSpace provides a Refresh Rate Expert in the Expression Builder that determines how often the data source connection updates, in seconds. The default is 1 second on new animations. But, previous to iFIX 6.0, the default refresh rate was 0.10000 which caused the connection to refresh 10 times per second. If your application does not need the connection to be refreshed this often, you can gain considerable performance by reducing the refresh rate and the deadband.
Refresh rates on pictures can also impact performance. In the iFIX Terminal Server setup, by default, datalinks, animations, and charts (Enhanced and Standard) in pictures will refresh as configured. But you can throttle these rates by placing the following parameters in the FixUserPreferences.ini file. You can adjust these default settings without opening any pictures. By default the throttling is disabled on the Remote Desktop Services Host.
- Open the FixUserPreferences.ini file. (By default, for iFIX, this file is located in the C:\Program Files (x86)\Proficy\iFIX\LOCAL folder.)
- Scroll to the [TerminalServicesPreferences] section and enter larger numbers. A larger number for these settings provides a slower refresh rate, which is intended to improve performance.
[TerminalServicesPreferences]
DataRefreshThrottleInSecs=1.0
AlarmSummaryThrottleInSecs=5.0
EnableTerminalServicesRateControls=1
- Save the file.
After modifying the above datalinks, animations, and charts (Enhanced and Standard), pictures will refresh at a rate no faster than once per value specified for “DataRefreshThrottleInSecs “.
For example, in the Expression Builder, if you enter .1 or .5 as the refresh rate for your data source, it will NOT be adhered to. The historical update rate for both Enhanced and Standard charts will also be adjusted accordingly. For the alarm blink rate, alarm fetch rate, and alarm data refresh rate in the Alarm Summary objects, iFIX will refresh the data no faster than value specified for “AlarmSummaryThrottleInSecs” seconds. For instance, even if you set the refresh rates in the Alarm Summary object to be faster, iFIX will not allow a rate faster than “AlarmSummaryThrottleInSecs”.