vcl-405037-expresscrossplatformlibrary-global-application-settings-multi-threaded-algorithms.md
DevExpress data controllers that manage data in container controls rely on multi-threaded algorithms for data sort, filter, and group operations. These multi-threaded algorithms significantly speed up (up to two or more times faster) all data shaping operations.
In addition, the PDF Viewer control renders page content in a separate thread to enhance user experience during navigation across large documents.
Important
We recommend that you leave multi-threaded algorithms enabled to ensure the best application performance. You may need to disable multi-threaded sorting only if you implement a thread-unsafe sort or filter operation in the corresponding event handler.
You need to disable multi-threaded algorithms only if you implement a thread-unsafe handler for one of the following events:
TcxVirtualVerticalGrid.OnFilterRecordAllows you to implement a custom data filtering algorithm.TcxCustomDataController.OnFilterRecordAllows you to implement a custom data filtering algorithm.TcxCustomDataController.OnCompareAllows you to implement a custom sorting algorithm.TcxCustomTreeList.OnCompareAllows you to implement a custom node sorting algorithm.
The global dxEnableMultiThreading constant specifies if multi-threading algorithms are enabled application-wide for all DevExpress controls that can run processes in separate threads. If the dxEnableMultiThreading constant is set to False, all other multi-threading settings have no effect.
You can use the following properties to disable multi-threaded algorithms at the level of individual controls if necessary:
TdxPDFViewerOptionsBehavior.RenderContentInBackgroundSpecifies if the PDF Viewer control repaints document pages in a separate thread rather than the main thread.TcxCustomDataController.MultiThreadedOptionsProvides access to multi-threading settings.TcxTreeListOptionsData.MultiThreadedSortingSpecifies if the tree list control uses a multi-threaded sorting algorithm.TcxvgMultiRecordOptionsData.MultiThreadedFilteringSpecifies if the vertical grid control uses a multi-threaded filtering algorithm. See Also