Home About Us Services Experience Technology Resources Careers News Contact Us
Mission and Values
Leadership Team
Certifications
Capability Statement
Consulting
Development
Turnarounds
Support
Success Stories
Presentations
Publications
Awards
EDI
RFID
Extranet
Voice and Speech
Natural Language
Handheld and Mobile
Articles and Reference
Code Samples
Downloads
Regular Reading
Email Subscriptions
Services Recommendations
Software Recommendations
Current Opportunities
Careers for Developers
Optimizing FoxPro for Citrix/Terminal Services
Before recommending hardware changes at the server level, take a closer look at the development environment. Here are some suggested modifications that may or may not improve Fox-on-Citrix/Terminal Services performance.

  1. VFP's form painting doesn't use standard windows calls/objects so when a form is refreshed, the entire thing gets passed over the wire instead of just the controls that were changed. Microsoft has indicated that this would probably not be addressed any time soon. To mitigate this, try the following:
    1. Use the LOCKSCREEN property to perform batch screen updates:
      THISFORM.LockScreen = .T.
         Do screen updating here...
      THISFORM.LockScreen = .F.
    2. Minimize screen redraws in all cases; try reducing THISFORM.Refresh calls for example.
    3. Don't use large splash screens or display large graphical images.
  2. Apply the FOXPFIX utility from Citrix to prevent keyboard polling routines from running up CPU cycles:
    http://support.citrix.com/kb/entry.jspa?entryID=1305&categoryID=118.
  3. Issue a SYS(3050) early in your application so that VFP won't seize all the available Citrix memory for long. 32MB is reported to work well, 64MB works better.
  4. Apply http://support.microsoft.com/default.aspx?scid=kb;EN-US;258537.
  5. Apply http://support.microsoft.com/?kbid=299603.
  6. Apply the following hotfix if #5 doesn't work. The following are RegKeys changes: On the Windows 2000 SP2 Terminal Servers, add the following registry keys:
    HKLM\System\CCS\Services\Mrxsmb\Parameters
    OpLocksDisabled
    DWORD: 0x1

    HKLM\System\CCS\Services\LanmanServer\Parameters
    CachedOpenLimit
    DWORD: 0x0

    HKLM\System\CCS\Services\LanmanWorkstation\Parameters
    UtilizeNTCaching
    DWORD: 0x0

    HKLM\System\CCS\Services\RDR\Paremeters
    UseWriteBehind
    DWORD: 0x0

    On the Windows 2000, SP2 File Server which hosts the FoxPro application, add the following registry keys:
    HKLM\System\CCS\Services\LanmanServer\Parameters
    EnableOpLocks
    DWORD: 0x0

    HKLM\System\CCS\Services\LanmanServer\Parameters
    CachedOpenLimit
    DWORD: 0x0

    HKLM\System\CCS\Services\LanmanWorkstation\Parameters
    UtilizeNTCaching
    DWORD: 0x0
© The Intellection Group, Inc.  All Rights Reserved
Privacy Statement    Disclaimer