Increase the UI Object Limit

The UI of the WorkBench tool in 3SL’s Cradle is very flexible. It allows you to display the items and the results of running queries in individual tabs. You can split the display into panes and have many of these tabs in each pane. You may need to increase the UI Object limit if you want to have a very complex WorkBench UI.

UI Object Limit

Each part of the UI uses Windows resources called User interface objects. There is a limit on the number of these UI Objects that each WorkBench process can allocate.

The default is a maximum of 10,000 UI Objects per process. This can be increased to a maximum of 18,000 UI Objects per process by changing a setting in the Windows registry.

If you open so many tabs that WorkBench exhausts the UI Objects that it can allocate, then the WorkBench UI will hang.

Increase the UI Object Limit

To increase the UI Objects Limit you must edit the Windows registry value:

HKEY_LOCAL_MACHINE\SOFTWARE
    \Microsoft\Windows NT\CurrentVersion
    \Windows\USERProcessHandleQuota

The steps are:

Set the UI Object Limit
Set the UI Object Limit
  1. Press Windows+R and enter regedit and click OK
  2. Navigate to the above registry entry
  3. Double click the entry for USERProcessHandleQuota, and set Decimal
  4. Enter the new value 18000 and click OK:

    DWORD USERProcessHandleQuota edit dialog
    USERProcessHandleQuota
  5. Exit the registry editor

This change takes effect on any processes created from now on.

Do I Need to Do This?

In general, no you do not need to make this change.

We have only seen one case where this change was necessary. In this case, a customer had a form with 75 frames display in it. The WorkBench UI hung when a user tried to open the 6th item concurrently when using this form.

Increasing this limit allowed the user to open 10 items concurrently using this (very!) large form.

Of course, if you want to increase the UI Object limit as a precaution, then it will not do any harm!