### IPerformanceSettings

  The IPerformanceSettings class defines settings which you can change on an application wide basis to affect your application's performance. The enumeration IPerformanceSettings::Setting describes the settings you can change using this class.

### IPerformanceSettings - Member Functions and Data by Group

### Settings

Use settings to tune Open Class Library to your application's requirements for thread safety and error checking.

disableSetting

      public:
      static void disableSetting(Setting setting)

  Use this function to disable the IPerformanceSettings::Setting specified by setting.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

enableSetting

      public:
      static void
        enableSetting( Setting setting,
                       bool enable = true )

  Use this function to enable the IPerformanceSettings::Setting specified by setting.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

isSettingEnabled

      public:
      static bool isSettingEnabled(Setting setting)

  Returns true if the IPerformanceSettings::Setting specified by setting is enabled.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### IPerformanceSettings - Enumerations

Setting

      enum Setting { singleThreaded=1,
                     singleThreadedGUI=2,
                     validateWindowHandle=8,
                     dynamicToolBarButtons=16 }

  Each of these enumerators specifies one of the options you control using enableSetting or disableSetting.

  singleThreaded
    When this setting is enabled, it causes IResourceLock to bypass setting and releasing locks. This setting applies to all IResourceLock objects, regardless of whether they are used by the Open Class Library implementation or by client code. Enabling this setting implies singleThreadedGUI. The default for this setting is disabled.

    Enabling this setting causes your single threaded application application to run faster because the overhead of cross thread serialization is avoided.

  singleThreadedGUI
    When this setting is enabled, it causes the implementation of IWindow and its derived classes to bypass the setting and releasing of serialization locks. It is similar to singleThreaded, except that its scope is more limited. The default for this setting is disabled in the Windows and OS/2 environments and enabled in Motif.

    Enable this setting when your application creates, manipulates, and destroys IWindow objects using a single thread. With this setting enabled, you can still use INonGUIThread, IResourceLock and related classes to manipulate and synchronize threads not related to the user interface.

  validateWindowHandle
    Enable this setting to cause IWindow::handle to check the validity of the window handle before returning it. IWindow::handle checks the validity of the handle by calling IWindow::isValid. If IWindow::isValid returns false, IWindow::handle throws an exception. The default for this setting is disabled.
  dynamicToolBarButtons
    Enabling this setting will cause the functions IToolBarButton::setStandardBitmapSize, IToolBarButton::setStandardTextLines and IToolBarButton::setStandardTextWidth to immediately update all toolbar buttons. Otherwise the standard button settings will be used during the creation of new toolbar buttons.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### IPerformanceSettings - Inherited Member Functions and Data

#### Inherited Public Functions

  - None

#### Inherited Public Data

  - None

#### Inherited Protected Functions

  - None

#### Inherited Protected Data

  - None