性能增強
本主題列出了可以增強WPF應用程序性能的技術。
常見的WPF性能增強
如果預先編譯Microsoft中間語言(MSIL)代碼,可以提高應用程序的啟動性能,此建議適用于所有WPF應用程序,并大大減少了使用高級UI控件的應用程序的啟動時間。
服務器端數(shù)據(jù)處理
以下DevExpress控件支持服務器端數(shù)據(jù)處理:
- GridControl(服務器模式、即時反饋模式、虛擬源)
- PivotGridControl(服務器模式)
- LookupEdit, ComboboxEdit, ListBoxEdit(服務器模式,即時反饋模式)
如果控件綁定到大型數(shù)據(jù)源時速度變慢,建議啟用server-side data processing。以下列表概述了該模式的主要方面:
- 控件只加載它在屏幕上顯示的項。
- 控件不會對加載的項進行排序、分組、篩選或用其他方式處理。對于每個數(shù)據(jù)操作,它向數(shù)據(jù)庫服務器(或OData服務)發(fā)送一個請求,服務器用要顯示在屏幕上的數(shù)據(jù)項進行響應。
預加載主題
當控件即將顯示時,WPF應用程序?qū)⒓虞d控件的主題資源,這在多窗口應用程序中最為明顯。應用程序在顯示每個新窗口之前需要時間加載資源,為了避免使用DevExpress控件的應用程序可能出現(xiàn)的減速,您可以預加載主題資源。
特定于控件的性能增強
我們定期優(yōu)化內(nèi)存消耗和控件的性能,始終更新到最新可用的DevExpress版本,來將最新的增強功能整合到您的應用程序中。
GridControl
下面的主題描述了如何優(yōu)化GridControl的性能:
- 滾動速度
- 頻繁更新數(shù)據(jù)
- 管理多線程數(shù)據(jù)更新
- 大數(shù)據(jù)源
- 優(yōu)化模式
PivotGridControl
- 使用輕量級模板來減少加載時間和優(yōu)化滾動性能:UseLightweightTemplates。
- 考慮優(yōu)化模式來獲得性能優(yōu)勢和一組擴展的聚合和窗口函數(shù)。
- 異步模式允許應用程序在進行數(shù)據(jù)操作時保持響應,該控件使用后臺線程來加載、排序、分組、篩選和用其他方式處理數(shù)據(jù)。
RibbonControl
- 您可以在用戶打開頁面時加載RibbonPage內(nèi)容,這將加快RibbonControl控制冷和熱啟動時間。
- 當您的RibbonControl包含多個帶有大量項目、圖庫或其他重量級內(nèi)容的RibbonPages時,此技術效果最佳。
SchedulerControl
使用隨需應變數(shù)據(jù)加載功能來按需批量加載項目。當您使用此特性時,Scheduler僅為可見間隔加載數(shù)據(jù),當Scheduler綁定到大型數(shù)據(jù)源時,這改善了初始加載時間和內(nèi)存消耗。
進度指示和啟動畫面
在長時間的操作過程中,可以使用以下進度指標來改善用戶體驗:
- ProgressBarEdit
- WaitIndicator
- LoadDecorator
SplashScreenManager允許用戶在啟動應用后立即顯示啟動畫面。