Symptom
A customer reports that database stored procedure calls and calls to internal APIs are delayed by approximately 3 seconds when the PowerBuilder application is running in a Citrix environment. The same code runs without delays outside the Citrix environment.
Environment
PowerBuilder application
Citrix environment
Cause
The issue may be related to the Citrix environment, system configuration settings, security software, accessibility features, or other environmental differences.
Resolution
Try the following suggestions and check whether the issue is resolved.
1. Check the Windows network proxy configuration
Check whether the proxy configuration on the Windows terminal server provisioned through Citrix is correct.
2. Check for restrictions from security software on Windows
We recommend temporarily disabling the client's anti-virus software, or signing the executable file, to check whether security software is contributing to the performance issue.
3. Check whether Accessibility is enabled for DataWindows
If your database stored procedure calls or internal API calls use DataWindows, try setting AccessibiIity=0 in the PB.ini file and check whether this work around the issue.
For details, refer to:
https://www.appeon.com/developers/get-help/knowledgebase/negative-impact-accessibility-application-performance.html
4. Do not use Windows handles in DataStore processing
If retrieving data into a DataStore causes the window to show "Not Responding" or results in random application crashes, try setting UseHwnd=No in the [DataStore Behavior] section of the PB.ini file and check whether this works around the issue.
[DataStore Behavior] UseHwnd=No
5. Check Citrix-specific settings and configurations
Check whether any Citrix-specific settings, features, or services may be affecting the PowerBuilder application's performance or behavior. In particular, check:
- Citrix API hooks
- Touchscreen client or related features
You can temporarily disable relevant features or services as a troubleshooting step to determine whether they are contributing to the issue.
6. PowerBuilder application fails to locate the INI file in a Citrix environment
If your app fails to locate the INI file in a Citrix environment, you can try setting the executable's TSAWARE flag to No (/TSAWARE:NO).
https://www.appeon.com/developers/get-help/knowledgebase/4768
7. Disable the Microsoft Touch Keyboard service/process
If the main window contains multiple DataWindows and the application freezes with a significant increase in CPU usage when the user starts browsing through the rows, try disabling the Microsoft Touch Keyboard service/process.
https://www.appeon.com/developers/get-help/knowledgebase/4612
8. Compare with other working Citrix environments
If the issue does not occur in other Citrix environments, compare the affected and working environments to identify their differences.
Check whether there are any special settings in the affected environment that could be causing the issue. You can also check whether upgrading the Citrix client resolves the issue.
Reference
Citrix provides an article about troubleshooting slow performance in a Citrix environment. Refer to the following article for additional troubleshooting information:
https://www.citrix.com/blogs/2019-05/troubleshoot-slow-performance-in-your-citrix-environment