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